1 条题解
-
1
因为 很小,所以可以暴力求解,无需倍增。
#include <bits/stdc++.h> using namespace std; int n,a,b,x,y; int f[101]; bool vis[101]; int main(){ cin>>n>>x>>y; for (int i=1;i<n;i++){ cin>>a>>b; f[a]=b; } while (x){//标记x的所有祖先结点 vis[x]=1; x=f[x]; } while (!vis[y]){//寻找y与x相同的祖先结点 y=f[y]; } cout<<y<<endl; return 0; }
- 1
信息
- ID
- 1163
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 5
- 标签
- 递交数
- 26
- 已通过
- 15
- 上传者