讨论 / 哪里错了
0.0 2013-02-23 17:31:00
点我顶贴 收藏 删除
#include "stdio.h"

int n,a[1000001]={0},b[1000001]={0},x,y,s;

int f(int x,int y)

{

int x1,y1;

for(int i=0;i<n;i++)

if(b[i]==x)

x1=a[i];

for(int i=0;i<n;i++)

if(b[i]==y)

y1=a[i];

if(x1==y1)

return x1;

else

return f(x1,y1);

}

int main()

{

scanf("%d",&n);

a[0]=1;

b[0]=1;

for(int i=1;i<n;i++)

scanf("%d%d",&a[i],&b[i]);

scanf("%d%d",&x,&y);

s=f(x,y);

printf("%d",s);

getchar();

getchar();

return 0;

}

#1 ly940327@2011-09-13 05:44:00
回复 删除
回复 楼主0.0 的帖子

我也这么做的。。。第一个点打死没过

#2 znz@2013-02-23 17:31:00
回复 删除
我也是第一个点没过……

后来发现:相遇不一定是同时的,可能宠物1走了x歩,宠物2走了y歩,然后在同一个点相遇(x<>y)

查看更多回复
提交回复