728x90
반응형
https://www.acmicpc.net/problem/2630
2630번: 색종이 만들기
첫째 줄에는 전체 종이의 한 변의 길이 N이 주어져 있다. N은 2, 4, 8, 16, 32, 64, 128 중 하나이다. 색종이의 각 가로줄의 정사각형칸들의 색이 윗줄부터 차례로 둘째 줄부터 마지막 줄까지 주어진다.
www.acmicpc.net
정답 code
#색종이 만들기
import sys
input = sys.stdin.readline
n = int(input())
paper = [list(map(int,input().split())) for _ in range(n)]
result = []
def solution (x,y,n):
color = paper[x][y]
for i in range(x,x+n):
for j in range(y , y+n):
if color != paper[i][j]:
solution(x,y,n//2)
solution(x,y + n//2,n//2)
solution(x+n//2 , y, n//2)
solution(x+n//2, y+n//2, n//2)
return
if color == 0:
result.append(0)
else:
result.append(1)
solution(0,0,n)
print(result.count(0))
print(result.count(1))
이번문제는 최근에 풀었던 1992번 과 상당히 유사한 문제다. 물론 더 전에도 자주 봤던 문제라 기억을 더듬어 해결 할수 있었다.
solution
재귀를 이용해 해당 종이에 다른 색이 있으면 종이를 쪼개 나가며 탐색하면 된다.
728x90
반응형
'알고리즘 > 백준[baekjoon]' 카테고리의 다른 글
[baekjoon] 백준 9095번 : 1, 2, 3 더하기 (by python 파이썬) 다이나믹 프로그래밍 (0) | 2022.06.08 |
---|---|
[baekjoon] 백준 7576번 : 토마토 (by python) with 너비 우선 탐색 bfs (0) | 2022.05.30 |
[baekjoon] 백준 2606번 : 바이러스 (by python 파이썬) bfs dfs 두가지 풀이 (0) | 2022.05.28 |
[baekjoon] 백준 2579번 : 계단 오르기 (by python) (0) | 2022.05.27 |
[baekjoon] 백준 2178번 : 미로 탐색 (by python 파이썬) with bnf (0) | 2022.05.24 |