<문제 링크>
https://www.acmicpc.net/problem/1074
<정답 코드>
1
2
3
4
5
6
7
8
9
10
|
""" 재귀 풀이 """
n, r, c = map(int, input().split())
def recursive(n, r, c):
if n == 0:
return 0
cur_cnt = 2 * (r % 2) + (c % 2)
return cur_cnt + 4 * recursive(n-1, int(r/2), int(c/2))
print(recursive(n, r, c))
|
cs |
분할 정복 문제풀이의 기본 원리와 재귀를 활용하면 짧은 코드로 풀 수 있는 문제다.