728x90
반응형
https://www.acmicpc.net/problem/2563
색종이가 붙은 영역의 넓이를 구하는 문제이다.
처음에는 겹친 영역의 넓이를 구하는 방법을 고민했었으나 색종이의 수가 많아질수록 겹친 영역을 일일이 구하는 것은 불가능하다고 판단을 했다.
이 문제는 단순히 이차원 배열을 생성하면 된다.
100x100 행렬에서 각각의 좌표를 넓이가 1인 정사각형으로 보는 것이다.
예를 들어 (0, 0)의 경우
(2, 1)의 경우
이제 값이 모두 1인 101x101 행렬을 생성하고 입력받은 좌표에 따라 100개의 좌표에 0을 넣어주면 된다.
그리고 0의 개수를 모두 세면 넓이가 나온다.
import sys
matrix=[[1 for _ in range(101)] for _ in range(101)]
n=int(input())
for _ in range(n):
a, b = map(int , sys.stdin.readline().split())
for i in range(a,a+10):
for j in range(b,b+10):
matrix[i][j]=0
res=0
for i in range(101):
res+=matrix[i].count(0)
print(res)
728x90
반응형
'백준 알고리즘' 카테고리의 다른 글
[백준 2231][파이썬] 분해 합 (0) | 2023.02.09 |
---|---|
[백준 25682][파이썬] 체스판 다시 칠하기 (0) | 2023.01.28 |
[백준 9020][파이썬] 골드바흐의 추측 소수 판별 (에라토스테네스의 체) (0) | 2023.01.26 |
[백준 10828][파이썬] 파이썬 스택 사용법 (0) | 2023.01.21 |
[백준 1065][파이썬] 한수 (0) | 2023.01.16 |
댓글