• <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>

            poj1073

            Find them, Catch them

            Time Limit: 1000MS Memory Limit: 10000K
            Total Submissions: 21467 Accepted: 6371

            Description

            The police office in Tadu City decides to say ends to the chaos, as launch actions to root up the TWO gangs in the city, Gang Dragon and Gang Snake. However, the police first needs to identify which gang a criminal belongs to. The present question is, given two criminals; do they belong to a same clan? You must give your judgment based on incomplete information. (Since the gangsters are always acting secretly.)

            Assume N (N <= 10^5) criminals are currently in Tadu City, numbered from 1 to N. And of course, at least one of them belongs to Gang Dragon, and the same for Gang Snake. You will be given M (M <= 10^5) messages in sequence, which are in the following two kinds:

            1. D [a] [b]
            where [a] and [b] are the numbers of two criminals, and they belong to different gangs.

            2. A [a] [b]
            where [a] and [b] are the numbers of two criminals. This requires you to decide whether a and b belong to a same gang.

            Input

            The first line of the input contains a single integer T (1 <= T <= 20), the number of test cases. Then T cases follow. Each test case begins with a line with two integers N and M, followed by M lines each containing one message as described above.

            Output

            For each message "A [a] [b]" in each case, your program should give the judgment based on the information got before. The answers might be one of "In the same gang.", "In different gangs." and "Not sure yet."

            Sample Input

            1
            5 5
            A 1 2
            D 1 2
            A 1 2
            D 2 4
            A 1 4
            

            Sample Output

            Not sure yet.
            In different gangs.
            In the same gang.
            

            Source

            POJ Monthly--2004.07.18

            囧,知道是并查集
            也知道是根據路徑長度判斷是不是一個集合
            但是 剛開始發現不能路徑壓縮,然后就裸的了,就tle了

            然后………
            寫了一串不知道是什么東西的東西,然后就過了
            #include <cstdio>
            #include 
            <cstdlib>
            #include 
            <cstring>
            #include 
            <cmath>
            #include 
            <ctime>
            #include 
            <cassert>
            #include 
            <iostream>
            #include 
            <sstream>
            #include 
            <fstream>
            #include 
            <map>
            #include 
            <set>
            #include 
            <vector>
            #include 
            <queue>
            #include 
            <algorithm>
            #include 
            <iomanip>
            #define maxn 100005
            using namespace std;
            int father[maxn];
            int mark[maxn];
            int n,m;
            int find(int x)
            {
                
            if(father[x]==x) return x;
                
            else
                
            {
                   
            int  pa=father[x];
                    father[x]
            =find(father[x]);
                    mark[x]
            =!(mark[x]^mark[pa]);
                    
            return father[x];
                }

            }

            void unit(int x,int y)
            {
                
            int r1,r2;
                r1
            =find(x);
                r2
            =find(y);
                father[r1]
            =r2;
                mark[r1]
            =!((!(mark[x]^0))^mark[y]);
            }

            void cas_init()
            {
                
            for(int i=1; i<=maxn; i++) father[i]=i,mark[i]=1;
            }

            int main()
            {
                
            int x,y,t,tmp1,tmp2,len1,len2;
                
            char str[5];
                scanf(
            "%d",&t);
                
            while(t--)
                
            {
                    cas_init();
                    scanf(
            "%d%d",&n,&m);
                    
            for(int i=1; i<=m; i++)
                    
            {
                        scanf(
            "%s%d%d",str,&x,&y);
                        
            if(str[0]=='A')
                        
            {
                            tmp1
            =find(x);
                            tmp2
            =find(y);
                            
            if(tmp1==tmp2)
                            
            {
                                
            if(mark[x]==mark[y])
                                    printf(
            "In the same gang.\n");
                                
            else printf("In different gangs.\n");
                            }

                            
            else printf("Not sure yet.\n");
                        }

                        
            else if(str[0]=='D')
                        
            {
                            unit(x,y);
                        }

                    }

                }

                
            return 0;
            }




            posted on 2012-07-24 18:46 jh818012 閱讀(285) 評論(0)  編輯 收藏 引用

            <2025年7月>
            293012345
            6789101112
            13141516171819
            20212223242526
            272829303112
            3456789

            導航

            統計

            常用鏈接

            留言簿

            文章檔案(85)

            搜索

            最新評論

            • 1.?re: poj1426
            • 我嚓,,輝哥,,居然搜到你的題解了
            • --season
            • 2.?re: poj3083
            • @王私江
              (8+i)&3 相當于是 取余3的意思 因為 3 的 二進制是 000011 和(8+i)
            • --游客
            • 3.?re: poj3414[未登錄]
            • @王私江
              0ms
            • --jh818012
            • 4.?re: poj3414
            • 200+行,跑了多少ms呢?我的130+行哦,你菜啦,哈哈。
            • --王私江
            • 5.?re: poj1426
            • 評論內容較長,點擊標題查看
            • --王私江
            伊人久久综合成人网| 亚洲国产成人久久精品动漫| 欧美日韩久久中文字幕| 久久久久人妻精品一区| 亚洲一区二区三区日本久久九| 国产精品成人精品久久久| 亚洲欧美一级久久精品| 伊人久久精品无码av一区| 性做久久久久久久久| 日韩影院久久| 国产99久久九九精品无码| 无码任你躁久久久久久老妇 | 97超级碰碰碰久久久久| 国产国产成人久久精品| 亚洲精品高清国产一线久久| 久久久久一级精品亚洲国产成人综合AV区| 久久AV高潮AV无码AV| 很黄很污的网站久久mimi色| 2021少妇久久久久久久久久| 伊人久久大香线蕉av不变影院 | 中文字幕无码久久精品青草| 91精品日韩人妻无码久久不卡| 日韩久久久久久中文人妻| 久久久久久久免费视频| 久久无码一区二区三区少妇| 大蕉久久伊人中文字幕| 久久最新精品国产| 久久久国产精品网站| 精品久久久久久无码专区不卡| 午夜人妻久久久久久久久| 久久人人爽人人爽人人片AV高清 | 久久精品国产精品亚洲人人| 亚洲国产精品久久66| 国产一级做a爰片久久毛片| 国产精品99久久精品| 狠狠久久亚洲欧美专区 | 色诱久久av| 久久久久免费精品国产| 一本一本久久aa综合精品| 国产69精品久久久久观看软件| 久久综合亚洲色一区二区三区|