알고리즘 문제풀이
백준 2669.직사각형 네개의 합집합의 면적 구하기 실버5
아크몽
2024. 2. 18. 00:21
14분 소요
arr = [list(map(int,input().split())) for _ in range(4)]
board = [[0] * 100 for _ in range(100)]
color = 0 # 색칠하기
for i in arr:
c1,r1,c2,r2 = i
# print(c1,r1,c2,r2)
color += 1 # 색을 뒤에 추가하면 color가 꼬인다.
for x in range(c1,c2): # 4-2 = 2
for y in range(r1,r2):
board[x][y] = color
cnt = 0 # 숫자세기
for p in range(100):
for q in range(100):
for z in range(1,color+1):
if board[p][q] == z:
cnt += 1
print(cnt)
실수한 점
for x in range(c1,c2+1)
로 뒀었음 => 높이를 구하기 때문에 4-2 = 2cm 기 때문에range(2,4)
로 두면 2칸을 채우기 때문에 `range(c1,c2) 가 맞음color += 1
의 위치를 색칠하기 전에 둠으로서 색칠하고 나서는 색을 증가시키지 않을 수 있다.