📍문제 링크
https://www.acmicpc.net/problem/2563
2563번: 색종이
가로, 세로의 크기가 각각 100인 정사각형 모양의 흰색 도화지가 있다. 이 도화지 위에 가로, 세로의 크기가 각각 10인 정사각형 모양의 검은색 색종이를 색종이의 변과 도화지의 변이 평행하도록
www.acmicpc.net
📍알고리즘 분류
- 구현
📍문제 풀이
- 전체 맵은 100 * 100이다
- 10 * 10 크기의 정사각형 색종이가 원점에서 x, y 좌표로 얼마나 떨어졌는지 제시된다.
- 색종이가 겹쳐진 최종 면적을 구하면 된다
전체 지도를 원소가 0인 100 * 100 크기의 이차원 배열로 표시할 수 있다
0 1 2 3 ... 98 99
1
2
3
...
98
99
색종이의 좌표가 주어지면, 해당하는 부분을 1로 바꾼다
그리고 모든 좌표를 더하면 크기를 구할 수 있다!
📍코드
arr = [[0] * 100 for _ in range(100)]
n = int(input())
for i in range(n):
col, row = map(int, input().split())
for j in range(col, col + 10):
for k in range(row, row + 10):
arr[j - 1][k - 1] = 1
answer = 0
for i in range(100):
answer += sum(arr[i])
print(answer)