반응형
https://www.acmicpc.net/problem/23972
k,n = map(int,input().split())
if n == 1:
print(-1)
else:
result = (-k*n)//(1-n)
if (-k*n)%(1-n):
print(result+1)
else:
print(result)
개인적으로는 약간 마음에 들지 않는 문제였습니다. 꽤 여러번 틀렸었고 이유를 계속 찾지 못하다가 부동소수점 오차 때문에 ceil에서 에러가 난다는 사실을 알았을 때 약간 짜증이 났었네요. 여러분도 맞왜틀 몇 번 하고 나면 그냥 찾아보세요. 브론즈라고 자존심 상한다면서 안찾아보면 시간만 버립니다.
해당 문제는 일단 기본적인 부등식의 계산과 이항을 아시는 분이라면 식을 세우는 것 자체는 아무렇지 않으실겁니다. 실수 없이 식을 세우신 다음에는 ceil은 소수점이 길어지면 오차가 생겨서 이 문제에서는 사용할 수 없으니 나머지가 있다면 1을 더하고, 아니라면 그대로 사용하도록 올림을 직접 구현해서 사용하시면 해결 가능하실 겁니다.
반응형
'Problem Solving > BOJ' 카테고리의 다른 글
[BOJ][Python]16173번 풀이 (0) | 2022.05.23 |
---|---|
[BOJ][Python]17202번 풀이 (0) | 2022.05.23 |
[BOJ][Python]2748번 풀이 (0) | 2022.05.21 |
[BOJ][Python]4482번 풀이 (0) | 2022.05.20 |