본문 바로가기

Algorithm/Math

(Python) - 백준(BOJ) 23972 : 악마의 제안

반응형

https://www.acmicpc.net/problem/23972

 

23972번: 악마의 제안

첫째 줄에 악마가 제안한 정수 K와 N이 공백을 사이에 두고 주어진다. (1 ≤ K, N ≤ 200,000,000)

www.acmicpc.net

구현 문제였습니다.

📕 풀이방법

📔 입력 및 초기화

k, n을 입력해줍니다.

📔 풀이과정

정답 x에 대해 손해보지 않는다면 다음 공식이 성립합니다.

x >= (x - k) * n

x에 대해 이항하면 x >= (k*n) / (n-1)가 됩니다. 답은 두 가지 경우가 됩니다.

1. n이 1일 때 무조건 손해보므로 -1을 출력합니다.

2. 아닌 경우 공식을 적용한 답을 출력합니다. 정수형이므로 나머지가 남는다면 1을 더해줍니다.

📔 정답출력

정답을 출력합니다.


📕 Code

import sys
input = sys.stdin.readline
k, n = map(int, input().split())
if(n == 1): print(-1)
else:
    ans = (k*n)//(n-1)
    if((k*n) % (n-1)): ans += 1 
    print(ans)