백준 2630 색종이만들기 파이썬
백준 문제
문제 풀이
정답 코드
def quad_tree(x, y, n):
global matrix, blue, white #주어진 배열과 색 카운트 끌어오기
color = matrix[y][x] #첫 색깔과 나머지 색이 같아야함
double_break = False #for문 탈출용 double_break
for i in range(x, x+n):
if double_break:
break
for j in range(y, y+n):
if matrix[j][i] != color: #하나라도 틀릴시에 재귀문 생성
quad_tree(x, y, n//2) #2사분면
quad_tree(x + n//2, y, n//2) #1사분면
quad_tree(x, y + n//2, n//2) #3사분면
quad_tree(x + n//2, y + n//2, n//2) #4사분면
double_break = True #탈출!
break
if not double_break:
if matrix[y][x] == 1: #파란색이라면
blue += 1
else:
white += 1 #흰색이라면
N = int(input())
matrix = []
blue = 0
white = 0
#matrix 받기
for _ in range(N):
matrix.append(list(map(int, input().split())))
quad_tree(0,0,N)
print(white)
print(blue)
알게 된 것
Author And Source
이 문제에 관하여(백준 2630 색종이만들기 파이썬), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@timchae/백준-2630-색종이만들기-파이썬저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)