알고리즘/BOJ
[BOJ / 백준] 2669번 직사각형 네개의 합집합의 면적 구하기 python / 파이썬 2차원 배열 구현
seohmoon
2022. 7. 2. 23:12
출처 : https://www.acmicpc.net/problem/2669
2669번: 직사각형 네개의 합집합의 면적 구하기
평면에 네 개의 직사각형이 놓여 있는데 그 밑변은 모두 가로축에 평행하다. 이 네 개의 직사각형들은 서로 떨어져 있을 수도 있고, 겹쳐 있을 수도 있고, 하나가 다른 하나를 포함할 수도 있으
www.acmicpc.net


최대 범위인 모든 숫자가 0인 2차원 배열을 만들어주고
각 사각형의 범위에 해당되는 숫자는 1로 바꿔준다.
그리고 마지막에 1의 개수를 셌다.
# BOJ2669 직사각형 네개의 합집합의 면접 구하기
arr = [list([0]*101) for _ in range(101)]
for _ in range(4):
x1, y1, x2, y2 = map(int, input().split())
for i in range(x1,x2):
for j in range(y1, y2):
arr[i][j] = 1
cnt = 0
for a in range(101):
for b in range(101):
if arr[a][b] == 1:
cnt += 1
print(cnt)