출처 : 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)'알고리즘 > BOJ' 카테고리의 다른 글
| [BOJ / 백준] 14405번 피카츄 python / 파이썬 list 인덱스 (0) | 2022.07.09 |
|---|---|
| [BOJ / 백준] 10808번 알파벳 개수 python / 파이썬 문자열 구현 (0) | 2022.07.08 |
| [BOJ / 백준] 10867번 중복 빼고 정렬하기 python / 파이썬 list set 오름차순 정렬 구현 (0) | 2022.07.01 |
| [BOJ / 백준] 10867번 중복 빼고 정렬하기 python / 파이썬 list set 오름차순 정렬 구현 (2) | 2022.06.29 |
| [BOJ / 백준] 9655번 돌 게임 python / 파이썬 (0) | 2022.06.28 |
댓글