분할정복

PS/백준

실버2 색종이 만들기(2630)

2630번: 색종이 만들기 첫째 줄에는 전체 종이의 한 변의 길이 N이 주어져 있다. N은 2, 4, 8, 16, 32, 64, 128 중 하나이다. 색종이의 각 가로줄의 정사각형칸들의 색이 윗줄부터 차례로 둘째 줄부터 마지막 줄까지 주어진다. www.acmicpc.net 분할 정복 공부하면서 이렇게 4개로 나눠지는 형태를 쿼드트리라는 것을 처음 알았다. 이렇게 4분할 해서 재귀를 돌리는 형태의 코드가 많이 나왔다. import sys input = sys.stdin.readline def divide(r, c, n): check, flag = matrix[r][c], True for i in range(r, r+n): for j in range(c, c+n): if check != matrix[i][j..

PS/백준

실버1 z(1074)

1074번: Z 한수는 크기가 2N × 2N인 2차원 배열을 Z모양으로 탐색하려고 한다. 예를 들어, 2×2배열을 왼쪽 위칸, 오른쪽 위칸, 왼쪽 아래칸, 오른쪽 아래칸 순서대로 방문하면 Z모양이다. N > 1인 경우, 배열을 www.acmicpc.net 위의 문제를 보고 분할 정복 문제라는 것을 알았지만, 분할 정복를 정확하게 모르고 있었기에 풀어내는데 조금 오래 걸렸다. import sys input = sys.stdin.readline def printResult(value, location): print(value + location) exit(0) def divide(n, r, c, value): n //= 2 if r < n and c < n: if n == 1: printResult(valu..

jjw000628
'분할정복' 태그의 글 목록