Problem

5 /10


마천루

Problem

고층 건물에는 n층이 있습니다. p층에서 유리 공을 떨어뜨려 공이 깨지면 p+1층에서 공을 떨어뜨리면 공도 깨지는 것으로 알려져 있습니다. . 공은 마지막 층에서 던지면 항상 부러지는 것으로 알려져 있습니다.
 
공이 떨어질 때 부서지는 최소 층 수를 정의하려고 합니다. 실험을 위해 두 개의 공이 있습니다. 모두 분할할 수 있지만 최종 결과에서 해당 숫자를 절대적으로 확신해야 합니다.
 
이 문제를 풀기에 충분한 던지기 횟수를 결정하세요.
 
입력
프로그램은 마천루 n의 층수를 입력으로 받습니다.
 
출력
언제나 문제를 풀 수 있는 가장 적은 수의 던지기를 출력해야 합니다.
 
참고
첫 번째 예에 대한 설명입니다. 2층에서 공을 던져야 합니다. 깨지면 1층에서 두 번째 공을 던지고, 깨지지 않으면 3층에서 공을 던집니다.
 
힌트
<사업부>1. 공이 하나만 있는 경우 어떻게 해야 합니까?
<사업부>2. 두 개의 공이 있고 k 층에서 하나의 공을 던졌습니다. 공이 부러지는지 아닌지에 따라 우리는 어떻게 행동할까요?
<사업부>3. f(n)을 마천루에 n층이 있는 경우 원하는 층을 결정하는 데 필요한 최소 던지기 수라고 합니다. 더 작은 a.
값의 경우 f(a) 값으로 f(n)를 표현합니다.  
<헤드> <몸>
# 입력 출력
1 4 2
2 7 3