백준 1074 : 문제링크

  • 문제유형 : 재귀

  • 설명

    1. 2^N의 사각형을 2^(N-1)의 사각형 4개로 나누어 재귀로 해결

    2. 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
    27
    def 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)