• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            #include <cstdio>
            #include 
            <cstdlib>
            #include 
            <vector>

            using namespace std;

            #define MAXN 10010

            vector
            <int>  Tree[MAXN], query[MAXN];
            int          Set[MAXN], num[MAXN],root[MAXN], ancestor[MAXN];
            bool          visite[MAXN];
            int n;

            void initial()
            {
                
            forint i= 0; i<= n; ++i )
                Tree[i].clear(), num[i]
            = 1, query[i].clear();
                
                memset( root, 
            falsesizeof(root) );
                memset( visite, 
            falsesizeof(root) );
                memset( ancestor, 
            0sizeof(ancestor) );
            }

            void  make_set( int u )
            {
                Set[u]
            = u;
            }

            int find( int u )
            {
                
            while( u!= Set[u] ) u= Set[u];
                
                
            return u;
            }

            void union_set( int u, int v )
            {
                
            int a= find(u), b= find(v);
                
                
            if( num[a]> num[b] ) Set[b]= a;
                
            else     
                {
                   Set[a]
            = b;
                   
            if( num[a]== num[b] ) num[b]++;
                }
            }

            void l_c_a( int u )
            {
                make_set( u );
                ancestor[u]
            = u;
                
                
            for( size_t i= 0; i< Tree[u].size(); ++i )
                {
                    l_c_a( Tree[u][i] );
                    
                    union_set( u, Tree[u][i] );
                    ancestor[ find(u) ]
            = u;
                }
                
                visite[u]
            = true;
                
                
            for( size_t i= 0; i< query[u].size(); ++i )
                
            if( visite[ query[u][i] ] )
                {
                    printf(
            "%d\n", ancestor[ find( query[u][i] ) ] );
                    
            return;
                }
            }

            int main()
            {
                
            int test;
                scanf(
            "%d",&test);
                
                
            while( test-- )
                {
                    
            int a, b;
                    scanf(
            "%d",&n);
                    
                    initial();
                    
            forint i= 0; i< n- 1++i )
                    {
                        scanf(
            "%d%d",&a,&b);
                        
                        Tree[a].push_back(b);
                        root[b]
            = true;
                    }
                    
                    scanf(
            "%d%d",&a,&b);
                    
            if( a== b ) query[a].push_back(a);
                    
            else
                    {
                        query[a].push_back(b);
                        query[b].push_back(a);
                    }
                    
                    
            forint i= 1; i<= n; ++i )
                    
            if!root[i] )
                    {
                        l_c_a(i);
                        
            break;
                    }
                }
                
                
            return 0;
            }
            posted on 2009-02-27 14:00 Darren 閱讀(311) 評論(0)  編輯 收藏 引用
            久久精品国产久精国产一老狼| 久久久亚洲精品蜜桃臀| 久久亚洲春色中文字幕久久久 | 欧美丰满熟妇BBB久久久| 狠狠色丁香久久婷婷综| 亚洲一区二区三区日本久久九| 欧美亚洲国产精品久久高清| 99国内精品久久久久久久| 无码国内精品久久综合88| 777久久精品一区二区三区无码| 伊人久久综合精品无码AV专区| 国产精品成人无码久久久久久 | 99久久人妻无码精品系列| 久久精品无码一区二区三区免费 | 人妻系列无码专区久久五月天| 亚洲精品高清国产一线久久| 国产一区二区精品久久凹凸| 人妻丰满AV无码久久不卡| 久久久精品国产亚洲成人满18免费网站| 色欲综合久久躁天天躁蜜桃| 久久精品国产第一区二区| 久久99国产精品一区二区| 日本久久久久亚洲中字幕| 武侠古典久久婷婷狼人伊人| 亚洲精品综合久久| 国产精品综合久久第一页| 99久久777色| 国产一区二区三区久久| 国内精品久久人妻互换| 久久久久亚洲精品天堂| 区久久AAA片69亚洲| 色偷偷88888欧美精品久久久| 久久亚洲AV成人出白浆无码国产| 久久人人爽人人爽人人片AV麻烦| 久久精品综合网| 怡红院日本一道日本久久| 久久精品天天中文字幕人妻| 色欲综合久久中文字幕网| 久久精品国产亚洲AV麻豆网站| 91精品国产高清91久久久久久| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 |