xcgoner 2008-11-13 19:42:00
点我顶贴
收藏
删除
#include<stdio.h>
typedef struct flag{
int f;
int p;
};
main()
{
struct flag a[100002];
int i,j,m,n,k,s,t,x,y,l;
scanf("%d %d",&n,&m);
a[0].f=0; a[0].p=1;
for(i=1;i<=n+1;i++)
{
a[i].f=i-1; a[i].p=i+1;
}
for(i=1;i<=m;i++)
{
scanf("%d %d %d",&x,&y,&s);
for(j=1,k=0;j<=x;j++,k=a[k].p);
for(t=k;j<=y;j++,t=a[t].p);
for(j=1,l=0;j<=s;j++,l=a[l].p);
a[a[k].f].p=a[t].p;
a[a[t].p].f=a[k].f;
a[a[l].p].f=t;
a[t].p=a[l].p;
a[l].p=k;
a[k].f=l;
}
for(l=1,j=0;l<=10;l++)
{
j=a[j].p;
printf("%d",j); if(l!=10) printf("\n");
}
}
用题中给的数据测全对,到了测试机里就全输出0,怎么回事啊。。。