【问题描述】
n只猴子围坐成一个圈,按顺时针方向从1到n编号。然后从1号猴子开始沿顺时针方向从1开始报数,报到m的猴子出局,再从刚出局猴子的逆时针方向下一个位置重新开始报数,报到m出列;再从出列的猴子的顺时针方向的猴子开始报数。如此重复,直至剩下一个猴子,它就是大王。输出依次出列的猴子的编号。
输入
两个整数n和m
输出
n行,每行一个整数,表示猴子的编号。
样例输入
4 3
样例输出
3
4
1
2
【数据范围】
50%的数据,1<=n,m<=1000
100%的数据,1<=n<=100000,m<=2000
思路:
代码:
#include<bits/stdc++.h>
using namespace std;
int n,m;
struct node{
node* nxt;
node* frm;
int val;
};
int main(){
scanf("%d%d"