문제
https://www.acmicpc.net/problem/1074
코드
n,r,c=map(int, input().split())
count=0
def recur(n,nx,ny):
global count
# 출력 조건에 포함되면 출력하고 종료
if nx == r and ny==c:
print(count)
exit(0)
# n이 1인데 출력조건에 포함되지 않으면
if n==1:
count+=1
return
# 해당 사분면에 포함 되지 않으면
elif not (nx<=r<n+nx and ny<=c<n+ny):
count+=(n**2)
return
temp = n // 2
# 왼쪽 위
recur(temp, nx, ny)
# 오른쪽 위
recur(temp, nx, ny + temp)
# 왼쪽 아래
recur(temp, nx + temp, ny)
# 오른쪽 아래
recur(temp, nx + temp, ny + temp)
recur(2**n,0,0)
print(count)
'문제풀이 > 기타' 카테고리의 다른 글
[JAVA] [수학] Pro 당구 연습 (0) | 2023.06.28 |
---|---|
[자바] [백트래킹] 백준 16508 전공책 (0) | 2023.04.28 |
[파이썬] [슬라이딩] 백준 1522 문자열 교환 (0) | 2023.03.16 |
[파이썬] [투포인터] 백준 20922 겹치는 건 싫어 (0) | 2023.02.24 |
[파이썬] [백트래킹] 백준 7490 0 만들기 (0) | 2023.02.19 |