시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
1 초 | 256 MB | 603 | 99 | 78 | 16.318% |
0점에서 시작해 매 턴 점수를 획득해 나가는 게임이 있다. 각 턴에서 플레이어가 게임 에서 승리하면 a점을 얻고, 지면 b점을 얻는다. 점수의 총합이 n점 이상이면 게임이 끝나게 된다.
포스텍의 한 학생이 이 게임을 해킹하는 데 성공했다. 그래서 각 턴에서 승리할지, 질지 자유롭게 결정할 수 있다. 심지어는 원하는 턴에서 점수를 a점이나 b점 올리는 대신 두 배로 바꾸는 것도 가능하다. 예를 들면 a가 3이고 b가 2이며 현재 점수가 10이라고 할 때, 다음 턴의 점수로 가능한 것에는 12, 13, 또는 20이 있다. 하지만 만약 학생이 n+a점 이상의 점수로 게임을 끝내게 되거나, 각 턴이 끝났을 때 점수를 두 배로 올린 턴이 전체 턴의 10%를 초과하면 학생은 게임 운영진의 의심을 받게 되고, 게임에서 퇴출당하게 된다.
이 학생이 운영진의 의심을 받지 않고 게임을 끝내는 데 필요한 최소한의 턴을 구하라.
n, a, b 세 개의 정수가 띄어쓰기를 사이에 두고 주어진다. (1 ≤ n ≤ 500, 1 ≤ b ≤ a ≤ 100)
이 학생이 운영진의 의심을 받지 않고 게임을 끝내는 데 필요한 최소한의 턴을 출력한다.
10 4 3
3
50 3 2
10
첫 번째 예제의 경우 매 턴마다 4점씩 점수를 올리면 세 턴 만에 10점을 넘기는 것이 가능하다.
두 번째 예제의 경우 일곱 번의 턴 동안 3점씩 올리고, 두 번의 턴 동안 2점씩 올리고, 마지막 턴에서 점수를 두 배로 올리면 10번의 턴 만에 50점에 도달할 수 있다.
단 예제에서 제시된 방법이 최소 횟수를 얻을 수 있는 유일한 방법은 아니다.
University > POSTECH > 2019 PPC A번