포럼
문제 USACO0628

농부 존의 치즈 덩어리

설명

농부 존(Farmer John)은 정육면체 모양의 치즈 덩어리를 가지고 있다. 이 치즈는 3차원 좌표 공간에서 \((0,0,0)\)부터 \((N, N, N)\)까지 놓여 있다 (\(2 \leq N \leq 1000\)). 농부 존은 치즈 덩어리에 \(Q\)번 (\(1 \leq Q \leq 2 \cdot 10^5\))의 갱신 연산을 수행할 것이다.

각 갱신 연산에서 FJ는 정수 좌표 \((x, y, z)\)부터 \((x+1, y+1, z+1)\)까지의 \(1\) x \(1\) x \(1\) 치즈 블록을 파낸다. 여기서 \(0\le x,y,z이다. FJ가 파내는 위치에는 \(1\) x \(1\) x \(1\) 치즈 블록이 존재함이 보장된다. FJ는 무크래프트를 플레이하는 중이므로, 아래쪽 치즈가 파여도 중력 때문에 치즈가 무너져 내리지는 않는다.

각 갱신 후, FJ가 \(1\) x \(1\) x \(N\) 크기의 벽돌을 치즈 덩어리 안에 남은 치즈와 전혀 겹치지 않게 끼워 넣을 수 있는 서로 다른 배치의 수를 출력하시오. 벽돌의 모든 꼭짓점은 세 축 모두에서 \([0,N]\) 범위의 정수 좌표를 가져야 한다. FJ는 벽돌을 원하는 대로 회전할 수 있다.

문제 제공: Chongtian Ma, Alex Liang

제약

배점

  • 입력 2-4: \(N\le 10\), \(Q \le 1000\)
  • 입력 5-7: \(N\le 100\), \(Q \le 1000\)
  • 입력 8-16: 추가 제약이 없다

문제 제공: Chongtian Ma, Alex Liang

입력 형식

첫째 줄에 \(N\)\(Q\)가 주어진다.

다음 \(Q\)개의 줄에는 파낼 좌표 \(x\), \(y\), \(z\)가 주어진다.

출력 형식

각 갱신 연산 후, 배치의 수를 나타내는 정수를 출력한다.

예제 1
입력
2 5
0 0 0
1 1 1
0 1 0
1 0 0
1 1 0
출력
0
0
1
2
5
설명

After the first three updates, the \(1\times 2 \times 1\) brick spanning
\([0, 1]\times [0, 2]\times [0, 1]\) does not overlap with the remaining cheese,
so it contributes toward the answer.

문제 정보

riseoj 작성

출처 올림피아드 > USACO > 2024-2025 > December > Bronze

태그

평가 및 의견

Farmer John's Cheese Block

개요
출제자 난이도 Unrated 레이팅 미적용 의견 0 / 1 공개 집계 (커뮤니티 난이도, 주요 주제, 품질)는 의견이 충분히 모이면 공개됩니다.

Log in to rate problems.

개별 의견

아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.

풀이 제출

Farmer John's Cheese Block

게스트로 둘러보고 있습니다. 로그인하면 풀이를 제출하고 진행 상황을 확인할 수 있습니다. 로그인하고 제출하기
공개
C++20 Tab 들여쓰기 · Ctrl+/ 주석 토글 · Enter 자동 들여쓰기
1 1 1 0 공백: 4 · UTF-8