링크
백준 10163 색종이
인덱스가 좌상단부터 0이 아닌 좌하단부터 0으로 시작하므로 이부분만 주의해준다면 문제자체는 어렵진 않다.
입력을 받을때마다 컬러값을 하나씩 증가시켜서 새로운 컬러값으로 재할당시키는 방법으로 겹치는 부분을 처리했다.
N = int(input())
box = [[0] * 101 for _ in range(101)]
color = 1
for i in range(N):
c, r, w, h = map(int, input().split())
r = 100 - r
for j in range(h):
for k in range(w):
box[r - j][c + k] = color # 입력은 0이지만 인덱스상에서 100부터 올라가므로 r - j가 맞음
color += 1
ans = [0] * N
for i in range(101):
for j in range(101):
for k in range(1, N + 1):
if box[i][j] == k:
ans[k - 1] += 1
print('\n'.join(map(str, ans)))