백준 / 1074 / Z / python

·
카테고리 없음
문제: https://www.acmicpc.net/problem/1074 코드def z(N, r, c): if N == 0: return 0 half = 2 ** (N - 1) block_size = half * half # 1번 사분면 if r = half: return block_size + z(N - 1, r, c - half) # 3번 사분면 elif r >= half and c 배열을 계속 4개의 사분면으로 나누며 r,c가 어느 사분면에 속하는지 확인하고, 그 사분면 이전에 이미 방문한 칸 수를 누적해서 더해 나간다. 해당 사분면 내부의 상대 좌표로 이동해 다시 같은 방식으로 계산하며, 결국 N이 0이 되면 더 나눌 수 없으므로 ..