您的位置:首页 > 其它

RQNOJ 28 [Stupid]愚蠢的宠物 解题报告

2011-08-21 16:58 204 查看
  直接搜就是了,一个点向根出发,到的每个都记录一下,然后另一个点再搜,第一个被标记的就是了。

#include <stdio.h>
#include <stdlib.h>
int p[1000001];
int time[1000001];

void srch(int i)
{
while(i != 1){
time[i] = 1;
i = p[i];
}
time[i] = 1;
}

int main(int argc, char **argv)
{
int i, n;
int a, b;
scanf("%d", &n);
for(i = 1; i < n; i++){
scanf("%d%d", &a, &b);
p[b] = a;
}
scanf("%d%d", &a, &b);
srch(a);
i = b;
while(!time[i]){
i = p[i];
}
printf("%d\n", i);
return 0;
}


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: