카테고리 없음

백준_python 1074번 Z (분할정복, 재귀)

O'bin 2024. 6. 7. 23:35

<문제 링크>

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-1int(r/2), int(c/2))
 
print(recursive(n, r, c))
cs

 

분할 정복 문제풀이의 기본 원리와 재귀를 활용하면 짧은 코드로 풀 수 있는 문제다.