【2018沈陽現場賽k】
阿新 • • 發佈:2019-05-13
targe ont 約瑟夫環問題 gin 運行 沈陽 的人 利用 約瑟夫環
Let the Flames Begin- 約瑟夫環數學推導
題意:有 n 個人圍成一個圈,從 1 開始報到第 k 個人出環,問第 m 個出環的人是誰,n、m、k <= 1e18 且 min(m,k)<= 2e6。
Sample Input20 10 1 2 10 2 2 10 3 2 10 4 2 10 5 2 10 6 2 10 7 2 10 8 2 10 9 2 10 10 2 10 1 3 10 2 3 10 3 3 10 4 3 10 5 3 10 6 3 10 7 3 10 8 3 10 9 3 10 10 3
Sample Output
Case #1: 2 Case #2: 4 Case #3: 6 Case #4: 8 Case #5: 10 Case #6: 3 Case #7: 7 Case #8: 1 Case #9: 9 Case #10: 5 Case #11: 3 Case #12: 6 Case #13: 9 Case #14: 2 Case #15: 7 Case #16: 1 Case #17: 8 Case #18: 5 Case #19: 10 Case #20: 4
剛開始看到這道題的時候,感覺與計蒜客上有關隊列的練習題十分類似,所以便利用隊列的知識來解決,對於題目給出的測試案例,運行結果是正確的,可是提交上去
顯示超時,百思不得其解,最終只有放棄。
後來看了題解才知道要使用約瑟夫環問題的數學解,
代碼:
【2018沈陽現場賽k】