Z
백준 1074 : 문제링크
문제유형 : 재귀
설명
2^N의 사각형을 2^(N-1)의 사각형 4개로 나누어 재귀로 해결
N = 2일때 까지 분할
풀이
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27def solve(n, x, y): global result
if n == 2:
if x == X and y == Y:
print(result)
return
result += 1
if x == X and y + 1 == Y:
print(result)
return
result += 1
if x + 1 == X and y == Y:
print(result)
return
result += 1
if x + 1 == X and y + 1 == Y:
print(result)
return
result += 1
return
solve(n / 2, x, y)
solve(n / 2, x, y + n / 2)
solve(n / 2, x + n / 2, y)
solve(n / 2, x + n / 2, y + n / 2)
result = 0
N, X, Y = map(int, input().split(' '))
solve(2 ** N, 0, 0)