這是個乾燥的一禮拜,你的朋友已經決定要藉由砸學生水球來教他們計算機科學的奧義,他們已經裝了一卡車一模一樣的水球準備砸學生,但這如同命運交會的時刻,這些水球居然變得比剛才更硬了,而且在幾層樓高的地方丟下來還不會破!
因此你的朋友找你來幫個忙,他們計畫要從校園中一個很高的建築物往下丟水球,但是要花費最少的力氣去把水球拿上高樓,因此他們想要知道在哪一樓水球可以剛好破掉。
你知道建築物有 n 層樓,你的朋友會給你 k 個一模一樣的水球,因為你很懶,所以你想要丟最少次水球來測出水球剛好破掉的最低樓層。(在最糟情況下,水球在頂樓也不會破)你可以在某一層樓丟下水球來測試,如果水球沒破,你可以再撿起來繼續用。
輸入的每一行包含多筆測試,每筆測試一行。一個測試資料包含兩個整數 k 和 n, 1 <= k <= 100 而 n 是一個 64 位元整數(沒錯,這棟建築物的確很高),最後一筆 k = 0 代表結束,這筆測資不用處理。
對於每筆測資,輸出在最糟情況下,測出水球破掉樓層的最少次數。如果他多於63次,請印出「More than 63 trials needed.」。
2 100 10 786599 4 786599 60 1844674407370955161 63 9223372036854775807 0 0
14 21 More than 63 trials needed. 61 63
編號 | 身分 | 題目 | 主題 | 人氣 | 發表日期 |
40948 | joccc014@gma ... (czone) | a261 | 93 | 2024-06-21 00:57 | |
23856 | tzuchunchen1 ... (TCC) | a261 | 1274 | 2020-12-26 23:39 |