/ Vijos / 讨论 / 问答 /

求大神帮做一下

2.最强战队(whers.cpp)
柳州高新区wh中学正热火朝天地备战今年的noip,总指挥蛋哥准备组织一支史上最牛的队伍出战,但有实力的选手实在太多了,怎么选择,成了令蛋哥头痛的事情,总不能剪刀石头布吧。柳州码?好像也不上档次,于是他想了一个高级抓阄的招数,显得有水平点。具体的办法是:先把所有选手从1到n编号,并按号数由小到大站成一列。蛋哥站在1号选手旁边,他从1号选手位置开始蹦,每次蹦到哪位选手旁边,那位选手便出列,作为正式代表队员,后面的选手向前走一个位置,填补空缺。蛋哥第i次跳可以一次跳过i*i*i除以5的余数+1(=i*i*i%5+1)个人的位置,并把落点位置上的人拉出列作为正式代表队员,如果后面还有人,则均往前移动一个位置,填补空缺。如蛋哥第1次跳从编号为1的选手旁边跳过1*1*1%5+1=2个人的位置,可跳到编号为3的人的旁边,那么此时编号为3的人出列;作为正式代表队员,第2次从编号为4的人旁边(编号为4的人已经走到编号为3的人的位置)跳过2*2*2%5+1=4个到编号为8的选手旁边,并把编号为8的人选为正式代表队员;如此...。
当然,总有一次蛋哥会跳到最后一个人后面,设为第K次,找不到任何人出征了。这时他又回到1号位置旁边,重做他的第K次跳,以求吃到果子。如此,问他所选的第m位选手的编号是多少(第m个被选中的是谁)?
输入格式
一共两行,分别为N和m。(1<=m<=n<=200,并且满足能够跳到第m次)
输出格式
一个数,他所选的第m位选手的编号。
样例输入1
10
4
样例输出1
9
提示
注:吃掉的果子依次为3,8,5(回到下面重做第3跳),9(回到下面重做第4跳)
下面的图给出了每一次的运动轨迹,其中右箭头表示起跳位置,而星号表示被吃掉的果子。
1 2 3 4 5 6 7 8 9 10

  • > * >
    • >
      *

0 条评论

目前还没有评论...