코테/BOJ
백준 1052 [물병] 파이썬
동 캄
2024. 1. 16. 22:27
반응형
https://www.acmicpc.net/problem/1052
1052번: 물병
지민이는 N개의 물병을 가지고 있다. 각 물병에는 물을 무한대로 부을 수 있다. 처음에 모든 물병에는 물이 1리터씩 들어있다. 지민이는 이 물병을 또 다른 장소로 옮기려고 한다. 지민이는 한 번
www.acmicpc.net
import sys
sys.setrecursionlimit(1000000) //재귀 제한 범위 확장
N,K=map(int,sys.stdin.readline().split()) //N,K 입력받음
def check(n,k):
val=1
while val<n: // 2의 제곱이 n보다 커질때까지 반복
val*=2
if k==1: // k가 1이면 val과 n의 차 만큼 물병이 더 필요
return val-n
else: // k가 1이 아니라면
val//=2 // val<n으로 변경
return check(n-val,k-1) // n-val개의 물병으로 k-1만큼 물병을 만드는 것으로 생각가능
if N<K:
print(0)
else:
print(check(N,K))
반응형