Nearest Common Ancestors POJ

来源:互联网 发布:人工智能的利弊辩论 编辑:程序博客网 时间:2024/05/21 09:02

模板题


#include <cstdio>#include <cstring>#include <vector>#include <algorithm>using namespace std;const int maxn=10005;int fa[maxn*4];void solve(int u,int v){    int fv=v;    while(fa[u]!=u)    {        fv=v;        while(fa[fv]!=fv)        {            if(u==fv)            {                printf("%d\n",u);                return ;            }            fv=fa[fv];        }        u=fa[u];    }    printf("%d\n",u);    return ;}int main(){    int t;    scanf("%d",&t);    while(t--)    {        int u,v;        int n;        scanf("%d",&n);        for(int i=1; i<=n; i++)            fa[i]=i;        for(int i=1; i<n; i++)        {            scanf("%d%d",&u,&v);            fa[v]=u;        }        scanf("%d%d",&u,&v);        solve(u,v);    }}