1173: 奇怪的约瑟夫环
Memory Limit:100 MB
Time Limit:5.000 S
Judge Style:Text Compare
Creator:
Submit:36
Solved:4
Description
【原创】【选考+/竞赛-】约瑟夫照常将n(位置编号1..n)个人(每人有个人编号与位置无关)围成一个圆环,照例选了个喜欢的数字m,决定让人们从1开始报数(1..m),报到m的人会被枪毙,但这个新的死者的灵魂会插入这一轮中其他灵魂按灵魂强度b顺序(从大到小)排成一队中的顺序位置,在每次位置编号为1的人即将报数时,称为一轮结束。此时所有灵魂会按从强度强到弱顺序一次补到上一轮中死亡导致的空位中(灵魂们更喜欢编号小的位置)接下来的几轮中,灵魂们会报数不会报m,故如果前一个报m-1它也会报m-1。当所有人死后称为一局游戏结束。
约瑟夫将所有灵魂在原地复活,又选取了若干个喜欢的m(已知约瑟夫喜欢数字1)进行了多局游戏,按规则进行游戏,请按位置顺序输出最后从位置1开始的所有灵魂对应的个人编号。
不得使用内置算法函数!!!
约瑟夫将所有灵魂在原地复活,又选取了若干个喜欢的m(已知约瑟夫喜欢数字1)进行了多局游戏,按规则进行游戏,请按位置顺序输出最后从位置1开始的所有灵魂对应的个人编号。
不得使用内置算法函数!!!
Input
第一行一个整数n,指人数
接下来的n行第i行两个整数ai,bi空格隔开。ai指初始位置编号为i的人/灵魂对应的个人编号 bi指其灵魂强度
接下来的n行第i行两个整数ai,bi空格隔开。ai指初始位置编号为i的人/灵魂对应的个人编号 bi指其灵魂强度
Output
按位置顺序输出最后从位置1开始的所有灵魂的个人编号 每个数字一行
Sample Input Copy
2
5 4
1 8
Sample Output Copy
1
5
HINT
不得使用内置算法函数!!!
数据范围:n<=5*10^5;0<=b<=1*10^6,保证b不重复
只卡了python的时间,其他语言可能会放过一些不优的解法
数据范围:n<=5*10^5;0<=b<=1*10^6,保证b不重复
只卡了python的时间,其他语言可能会放过一些不优的解法