백준 1074 : 문제링크

  • 문제유형 : 재귀

  • 설명

    • 2^N의 크기의 사각형을 2^(N-1)의 사각형 4가지 부분으로 나눠서 재귀적으로 해결
  • 풀이

    • 실패 코드

      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 == Y:
      print(result)
      return
      result += 1
      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)