Algorithm/Algorithm 풀이
[Algorithm 풀이] 완전탐색: ColorPaper
부지런깨꾹이
2022. 9. 24. 12:37
반응형
[완전 탐색 대표문제]
이번 문제는 색종이들의 넓이를 구하는 문제이다. (겹치는 부분을 처리하는 것이 관건인 문제!!)
입력 :
2
0 0 10 10
2 2 6 6
출력 :
64
36
## template
n = int(input())
input_list = [list(map(int, input().split(" "))) for _ in range(n)]
arr = [[0] * (101) for _ in range(101)]
for i in range(n):
start_x = input_list[i][0]
start_y = input_list[i][1]
width = input_list[i][2] #가로
height = input_list[i][3] # 세로
for j in range(start_x, start_x+width):
for k in range(start_y, start_y+height):
arr[j][k] = i+1
for i in range(n):
cnt = 0
for j in range(101):
for k in range(101):
if arr[j][k] == i+1:
cnt+=1
else:
continue
print(cnt)
#cnt_list.append(cnt)
* Solution
1) 비교할 색종이 갯수만큼 순서대로 색종이를 숫자로 채우기 ex) 1번째 색종이 1로 채우고, 2번째 2로..
2) 마지막으로 배열을 완전 탐색하면서 숫자들의 갯수(각 색종이들의 넓이가 된다)를 카운트 한다.
728x90
반응형