1470: 约瑟夫环
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:423
解决:189
题目描述
约瑟夫问题的一种描述是:编号为1,2,...,n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。一开始任选一个整数作为报数上限值,从第一个人开始顺时针自1开始顺序报数,报到m时停止报数。报m的人出列,将他的密码作为新的m值,从他顺时针方向上的下一个人开始重新从1报数。如此下去,直至所有的人全部出列为止。试设计一个程序,求出出列顺序。
输入
先输入一个正整数T,表示有T组测试案例。每组测试案例的第一行是两个整数n、m,分别表示有n个人和一开始的上限值。第二行有n个正整数被空格隔开,表示每人持的密码。
输出
对每一组测试案例,先输出一行“Case id:”,id从1开始。然后按照出列顺序输出各人的编号,输出格式见样例。
样例输入 复制
1
5 2
1 3 4 3 2
样例输出 复制
Case 1:2->5->3->1->4