#include <stdio.h>
#include <stdlib.h>
int findpos(int a,int c[],int n)
{
int i;
for(i=0;i<n;i++)
{
if(c[i]==a)
{
break;
}
}
return i;
}
int main()
{
int n,m;//n为学生数量,m为调整的次数
int a[1000],b[1000];
int i,j,k,i1,i2,i3,j1,j2,j3;
int gm1,gm2;
int p,q;/*接下来m行,每行两个整数p, q,
如果q为正,表示学号为p的同学向后移动q,如果q为负,表示学号为p的同学向前移动-q。*/
scanf("%d",&n);
scanf("%d",&m);
for(i=0;i<n;i++)
{
a[i]=i+1;
}
for(j=0;j<m;j++)
{
scanf("%d%d",&p,&q);
if(q>0)
{
for(i1=0;i1<findpos(p,a,n);i1++)
{
b[i1]=a[i1];
}
b[findpos(p,a,n)+q]=a[findpos(p,a,n)];
for(i2=findpos(p,a,n);i2<findpos(p,a,n)+q;i2++)
{
b[i2]=a[i2+1];
}
for(i3=findpos(p,a,n)+q+1;i3<n;i3++)
{
b[i3]=a[i3];
}
for(gm1=0;gm1<n;gm1++)
{
a[gm1]=b[gm1];
}
}
if(q<0)
{
for(j1=0;j1<findpos(p,a,n)+q;j1++)
{
b[j1]=a[j1];
}
b[findpos(p,a,n)+q]=a[findpos(p,a,n)];
for(j2=findpos(p,a,n)+q+1;j2<=findpos(p,a,n);j2++)
{
b[j2]=a[j2-1];
}
for(j3=findpos(p,a,n)+1;j3<n;j3++)
{
b[j3]=a[j3];
}
for(gm2=0;gm2<n;gm2++)
{
a[gm2]=b[gm2];
}
}
}
for(k=0;k<n;k++)
{
printf("%d ",b[k]);
}
return 0;
}
#include <stdlib.h>
int findpos(int a,int c[],int n)
{
int i;
for(i=0;i<n;i++)
{
if(c[i]==a)
{
break;
}
}
return i;
}
int main()
{
int n,m;//n为学生数量,m为调整的次数
int a[1000],b[1000];
int i,j,k,i1,i2,i3,j1,j2,j3;
int gm1,gm2;
int p,q;/*接下来m行,每行两个整数p, q,
如果q为正,表示学号为p的同学向后移动q,如果q为负,表示学号为p的同学向前移动-q。*/
scanf("%d",&n);
scanf("%d",&m);
for(i=0;i<n;i++)
{
a[i]=i+1;
}
for(j=0;j<m;j++)
{
scanf("%d%d",&p,&q);
if(q>0)
{
for(i1=0;i1<findpos(p,a,n);i1++)
{
b[i1]=a[i1];
}
b[findpos(p,a,n)+q]=a[findpos(p,a,n)];
for(i2=findpos(p,a,n);i2<findpos(p,a,n)+q;i2++)
{
b[i2]=a[i2+1];
}
for(i3=findpos(p,a,n)+q+1;i3<n;i3++)
{
b[i3]=a[i3];
}
for(gm1=0;gm1<n;gm1++)
{
a[gm1]=b[gm1];
}
}
if(q<0)
{
for(j1=0;j1<findpos(p,a,n)+q;j1++)
{
b[j1]=a[j1];
}
b[findpos(p,a,n)+q]=a[findpos(p,a,n)];
for(j2=findpos(p,a,n)+q+1;j2<=findpos(p,a,n);j2++)
{
b[j2]=a[j2-1];
}
for(j3=findpos(p,a,n)+1;j3<n;j3++)
{
b[j3]=a[j3];
}
for(gm2=0;gm2<n;gm2++)
{
a[gm2]=b[gm2];
}
}
}
for(k=0;k<n;k++)
{
printf("%d ",b[k]);
}
return 0;
}