天天看點

藍橋杯模拟賽:報數遊戲(vector解決約瑟夫環)

題:報數遊戲

有 n ( 1< n<10000)個小朋友站成一個圓圈。

標明一個小朋友為1号,從他(她)開始順時針編号:1,2,3,4,…

遊戲開始! 從1号小朋友起,順時針報數,從1報起。

即:1号小朋友報1,2号小朋友報2,3号小朋友報3, ….

遊戲規定,報到數字 m(1 < m <100) 的小朋友立即退出報數圈。

在他(她)的順時針方向的下一個小朋友(如果有的話)開始重新從1報數…

遊戲這樣一直進行下去,直到圈中隻剩下一個小朋友。

求最後剩下的小朋友的編号。

輸入:兩個整數,n 和 m, 用空格分開。含義如上。

輸出:一個整數,表示最後剩下的小朋友的編号。

比如:

輸入:

15 3

程式應該輸出:

5

再比如:

7 4

2

資源約定:

峰值記憶體消耗(含虛拟機) < 256M

CPU消耗 < 1000ms

分析:

删除報到數的”孩子”直到容器大小等于1

繼續閱讀