#include<iostream>
#include<cstring>
using namespace std;
int a[10],b[10],c[10],d[10];
int main()
{
int n;
while(cin>>n)
{
int i,j,k;
for(i=0;i<n;i++)
cin>>a[i];
for(i=0;i<n;i++)
cin>>b[i];
memset(c,1,sizeof(c));
for(i=0;i<n;i++)
{
if(a[i]==b[i])
{
c[i]=0;
cout<<"("<<a[i]<<")";
}
}
for(i=0;i<n;i++)
{
if(c[i]==0) continue;
int m=a[i];
c[i]=0;k=0;
d[k++]=m;
int n=b[i];j=0;
while(n!=a[i])
{
if(a[j]==n)
{
c[j]=0;
d[k++]=a[j];
n=b[j];
}
j=(j+1)%n;
}
cout<<"(";
for(i=0;i<k;i++)
cout<<" "<<d[i]<<" ";
cout<<")";
memset(d,0,sizeof(d));
}
cout<<endl;
}
return 0;
}
离散学习——置换变轮换
最新推荐文章于 2024-06-09 08:42:43 发布