小明参加了一个书友会,每星期都会把看到的好书分享给别人看。假设书友会一共有N个人,一开始每个人都拿了一本书看,一星期后大家会把手中的书借给另外一个人(也有可能仍旧自己保留,且没有两个人会把书借给同一个人),第二星期后又把手中的书借给另外一个人。现在,小明想知道每个人手中的书一开始是属于谁的。
输入一个数T,表示有T组测试数据(1<=T<=10000)
每组测试数据输入有三行
第一行包含一个整数N(1<=N<=100)。
第二行包含N个整数a1~aN,表示第一星期后第i个人把书借给了第ai人。
第三行包含N个整数b1~bN,表示第二星期后第i个人把书借给了第bi人。 每个人的编号依次为1~N。
输出一行N个以空格分隔的整数c1~cN。表示第i个人手中的书一开始是属于ci的。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int T,N,i,j,k,n;
scanf("%d",&T);
for(n=1;n<=T;n++)
{
scanf("%d",&N);
int a[N+1],b[N+1],c[N+1];
for(i=1;i<=N;i++)
{
scanf("%d",&a[i]);
}
for(j=1;j<=N;j++)
{
scanf("%d",&b[j]);
}
for(k=1;k<N;k++)
{
for(j=1;j<=N;j++)
{
if(k==b[j])
{
for(i=1;i<=N;i++)
{
if(j==a[i])
{
printf("%d ",i);
}
}
}
}
}
if(k==N)
{
for(j=1;j<=N;j++)
{
if(k==b[j])
{
for(i=1;i<=N;i++)
{
if(j==a[i])
{
printf("%d\n",i);
}
}
}
}
}
}
return 0;
}