约瑟夫的新问题

题目描述
将1~ M这M个自然数按由小到大的顺序沿顺时针方向围成一圈。 以S为起点,先沿顺时针方向数到第N个数就出圈,然后再沿逆时针方向数到第K个数再出圈,再沿顺时针方向数到第N个数就出圈,然后再沿逆时针方向数到第K个数再出圈,...这样按顺时针方向和逆时针方向不断出圈,直到全部数都出圈为止。
请打印先后出圈的数的序列。
输入
4行,每行为一个自然数,分别表示M,S,N,K,值都不超过1000.
输出
一行包含N个正整数,之间用一个空格隔开,表示先后出圈的数的序列。
样例输入
8
1
3
2
样例输出
3 1 5 2 7 4 6 8

数据范围与提示
(输出样例解释:先从1 开始沿顺时针方向数到3,所以3 先出圈;再从2 开始沿逆时针方向数到1,所以1 出圈;再从2 开始沿顺时针方向数到5,所以5 出圈,再从4 开始沿逆时针方向数到2,所以2 出圈,……)

信息

ID
2693
难度
9
分类
(无)
标签
递交数
1
已通过
1
通过率
100%
上传者