约瑟夫环
Input
7 5(有几组数据)
10 4 11 4 1(从一开始去除谁)
Output
4 2 5 6 1
Input
3 2
2 5
Output
3 2
#include <iostream>
#include <cstdio>
#include <queue>
using namespace std;
#include <stdio.h>
#include <string.h>
deque <int> str;
int main()
{
int m,n,i,a[102],b[102],j,g;
scanf("%d%d",&m,&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=1;i<=m;i++)
str.push_back(i);
int e=0,h,p=0;
for(i=0;i<n;i++)
{
p=str.size();
a[i]=a[i]%p;
memset(b,0,sizeof(b));
for(j=0;j<=a[i]-1;j++)
{
b[j]=str.front();
str.pop_front();
str.push_back(b[j]);
}
g=str.front();
str.pop_front();
if(e==0)
printf("%d",g),e++;
else
printf(" %d",g),e++;
}
return 0;
}