https://www.acmicpc.net/problem/2563
2563번: 색종이
가로, 세로의 크기가 각각 100인 정사각형 모양의 흰색 도화지가 있다. 이 도화지 위에 가로, 세로의 크기가 각각 10인 정사각형 모양의 검은색 색종이를 색종이의 변과 도화지의 변이 평행하도록
www.acmicpc.net
- 이 문제를 정사각형이 겹쳐지는 범위를 제외해서 넓이를 구할려고 했지만 이 방법은 너무 어려울 것 같아서 다른 방법으로 했다.
- 그래서 정사각형이 있는 배열값들을 전부 1로 바꾸어서 1이 몇개인지를 세는 방법으로 해결했다. 그러면 겹쳐지는 부분을 따로 고려할 필요 없어서 더 편리하다.(정사각형이 겹쳐지는 부분은 배열값을 1에서 1로 바꾸는 거라서 겹쳐지는 부분을 고려할 필요 없다.)
num=int(input())
arr=[[0]*100 for _ in range(100)]#가로와 세로 크기가 각각100인 2차원 배열 선언
for i in range(num):
x,y=map(int, input().split())#색종이 붙인위치를 입력받는다.
for n in range(x,x+10): #가로(x)와 세로(y)위치를 기준으로 범위를 10으로 정한다.
for m in range(y,y+10):
arr[n][m]=1 #해당 범위에 있는 배열값을 1로 바꾸어준다.
count =0 #배열에서 1이 몇개인지 저장하는 변수이다.
for i in range(100):
for j in range(100):
if(arr[i][j]==1):
count=count+1#배열값이 1인 배열개수를 입력받는다.
print(count)
'Baekjoon > Python3' 카테고리의 다른 글
[백준][파이썬] 10798번 세로읽기 (0) | 2023.07.07 |
---|---|
[백준] 2566번 최댓값 (0) | 2023.07.07 |
[백준] 2738번 행렬 덧셈 (0) | 2023.07.05 |
[백준] 25206번 너의 평점은 (0) | 2023.06.30 |
[백준] 1316번 그룹 단어 체커 (0) | 2023.06.29 |