测试结果1: 通过本测试点|有效耗时94ms
测试结果2: 输出过长|用户输出数据超过标准输出两倍[标准输出1位|选手输出4位]
测试结果3: 输出过长|用户输出数据超过标准输出两倍[标准输出1位|选手输出4位]
测试结果4: 通过本测试点|有效耗时156ms
测试结果5: 通过本测试点|有效耗时157ms
测试结果6: 通过本测试点|有效耗时156ms
测试结果7: 通过本测试点|有效耗时157ms
测试结果8: 通过本测试点|有效耗时156ms
测试结果9: 通过本测试点|有效耗时157ms
测试结果10: 通过本测试点|有效耗时156ms
#include "stdio.h"
#include "stdlib.h"
int main()
{
long n,*a,*f;
scanf("%d",&n);
a=(long *)malloc(sizeof(long )*(n+1));
f=(long *)malloc(sizeof(long )*(n+1));
f[0]=0;
for(long i=2;i<=n;i++)
{
int x,y;
scanf("%d%d",&x,&y);
a[y]=x;
f[i]=0;
}
int c,b;
scanf("%d%d",&c,&b);
long i=b;
f[b]=1;
while(i!=1)
{
i=a[i];
f[i]=1;
}
i=c;
while(i!=1)
{
if(f[i]==1)
{
printf("%d",i);
break;
}
i=a[i];
if(f[i]==1)
{
printf("%d",i);
break;
}
}
getchar();
getchar();
return 0;
}