Agorithm/백준 알고리즘
백준 알고리즘 1074번 Z(python)
kimjinho1
2020. 1. 23. 19:47
728x90
반응형
완전 수학 문제다. 패턴을 파악하면 되는데 말로 설명하기 조금 번거롭다.
t를 구할 때 R에는 2를 곱하고 C는 그냥 더하는 이유를 생각해보면 풀이가 떠오를 것이라고 생각한다.
이해가 안 된다면 R, C, t, r, c, carry, n을 계속 계산해보면 코드가 이해가 잘 될 것이다.
N, r, c = map(int, input().split())
n = 4 ** N
ans = 0
for i in range(N):
R = r//(2**(N-1))
C = c//(2**(N-1))
t = 2*R + C
r -= 2**(N-1) * R
c -= 2**(N-1) * C
carry = 4 ** (N-1) * t
n //= 4
N -= 1
ans += carry
print(ans)
728x90
반응형