1、还是模拟,仔细点就好啦~
#include<cstdio>
#include<algorithm>
using namespace std;
int a[105],pos[105];
int main(){
int T,n,m,op,x,y,kase=0;
scanf("%d",&T);
while(T--){
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++){
a[i]=i;
pos[i]=i;
}
while(m--){
scanf("%d%d%d",&op,&x,&y);
if(op==1){
pos[a[x]]=y;
pos[a[y]]=x;
swap(a[x],a[y]);
}
else if(op==2){
int temp1=pos[x],temp2=pos[y];
swap(a[temp1],a[temp2]);
pos[x]=temp2;
pos[y]=temp1;
}
}
printf("Case #%d:",++kase);
for(int i=1;i<=n;i++)
printf(" %d",a[i]);
printf("\n");
}
return 0;
}