100x100 크기의 판에 주어진 좌표 정보에 따라 직사각형이 차지하는 공간을 1로 아닌 공간을 0으로 채웠습니다.
한 직사각형의 가로가 x1 부터 x2 까지의 점을 가지고 있을 때 가로의 길이는 x2 - x1 - 1이라서
x1부터 x2-1까지를 그 직사각형의 가로가 차지하는 넓이로 생각해서 풀었습니다.
board = [[0]*100 for _ in range(100)]
for _ in range(4):
x1, y1, x2, y2 = map(int, input().split())
for row in range(y1, y2):
board[row][x1:x2] = [1]*(x2-x1)
total = 0
for b in board:
total += sum(b)
print(total)
보드 판을 채우지 않고 set을 이용해 중복을 제외해서 각 $($x,y$)$ 점을 구해서 set의 원소의 개수를 출력하는 방법입니다.
s = set()
for _ in range(4):
x1, y1, x2, y2 = map(int, input().split())
s.update({(col,row) for col in range(x1, x2) for row in range(y1, y2)})
print(len(s))