太大意,敲代码老出低级错误,唉。。
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
int x,n,t,i,k,j,s1,s2;
char str1[21][10],str2[21][10];
char *p,*p1;
cin>>x;
while(x--)
{
k=0;
cin>>n>>t;
for(i=0;i<n;i++)
{
cin>>str1[i];
strcpy(str2[i],".");
}
while(t--)
{
cin>>s1>>s2;
strcpy(str2[s2-1],str1[s1-1]);
strcpy(str1[s1-1],".");
}
for(i=0;i<n;i++)
if(strcmp(str2[i],".")==0)
{
for(j=k;j<n;j++)
if(strcmp(str1[j],".")!=0)
{
strcpy(str2[i],str1[j]);
k=j+1;
break;
}
}
for(i=0;i<n;i++)
{
cout<<str2[i];
if(i<n-1)cout<<" ";
}
if(x)cout<<endl;
}
return 0;
}