POJ 1330
#include<iostream> #include<cstdio> #define MAXN 10005 using namespace std; int pre[MAXN]; bool boo[MAXN]; void init(int n); int go_back(int num); int main() { //freopen("acm.acm","r",stdin); int t; int n; int i; int u; int v; cin>>t; while(t --) { //memset(boo,false,sizeof(boo)); cin>>n; init(n); for(i = 0; i < n - 1; ++ i) { cin>>u>>v; pre[v] = u; } cin>>u>>v; go_back(u); cout<<go_back(v)<<endl; } } void init(int n) { int i; for(i = 1; i <= n; ++ i) { pre[i] = i; boo[i] = false; } } int go_back(int num) { if(num == pre[num] || boo[num] == true) { if(!boo[num]) boo[num] = true; return num; } else { boo[num] = true; return go_back(pre[num]); } }
关注我的公众号,当然,如果你对Java, Scala, Python等技术经验,以及编程日记,感兴趣的话。
技术网站地址: vmfor.com