#C4. 松鼠吃果子
松鼠吃果子
松鼠吃果子
题目描述
狐狸尼克刚把冰激凌甜筒卖完,正得意的哼着小曲数着钞票,突然一只松鼠从他面前一闪而过。尼克赶紧把钞票藏好,正想追时,发现那只松鼠早已不见了踪影……
当尼克走过一条街时,发现那只松鼠正在树上吃果子。树上共有 N 个果子,由下向上串排成一列,并标号 1, 2, ⋯, N。小松鼠从最下面的果子上开始向上跳,并且第 i 次跳跃时,可以一次跳过 i × i × i mod 5 的余数 + 1 个果子( 即 i × i × i % 5 + 1 ),并把当前脚下的一个果子吃了。如果上面有果子,在重力的作用下,都将向下掉下一格。例如:第 1 次跳从 1 号果子上跳过 1 × 1×1 % 5 + 1 = 2 个果子,可跳到 3 号果子上,并把 3 号果子吃了;第 2 次从 4 号果子上( 落在原来第 3 个果子的位置 ) 跳过 2 × 2 × 2 % 5 + 1 = 4 个果子,可以跳到 8 号果子上,并把 8 号果子吃了;如此下去……。
当然,总有一次松鼠会跳出这串果子的最上面,设为第 K 次,它吃不到任何果子了。这时它回到最下面的果子上,重做它的第 K 次跳,以求吃到果子。
狐狸尼克看的很是投入,尼克很想知道松鼠吃的第 M 个果子的标号( 即第 M 跳吃到的果子标号 )。
输入格式
输入共两行,第一行为整数 N,第二行为整数 M,意义如题目所述。
输出格式
输出共一行一个整数,即松鼠吃的第 M 个果子的标号。数据保证一定有解。
样例 #1
样例输入 #1
10
4
样例输出 #1
9
提示
样例说明:
松鼠吃掉的果子标号依次为3, 8, 5 ( 回到下面重做第 3 跳 ),9 ( 回到下面重做第 4 跳 )。
数据范围:
对于100%的数据:
| 测试点编号 | |
|---|---|
| 1~2 | |
| 3~6 | |
| 7~10 | 没有额外限制 |