• <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>
            隨筆-65  評(píng)論-6  文章-0  trackbacks-0
             1 #include<iostream>
             2 using namespace std;
             3 const int MAX = 200005;
             4 typedef struct set{
             5     int parent;
             6     int num;
             7 }S;
             8 typedef struct node{
             9     int cnt;
            10     struct node *next[52];
            11 }*tree,Trie;
            12 tree root;
            13 S sets[MAX];
            14 int n,num;
            15  
            16 inline int GetNum(char *t){//用字典樹(shù)對(duì)字符串編號(hào)
            17     tree p = root,newnode;
            18     for(int i = 0;i < strlen(t); ++i){
            19         int u;
            20         if(t[i]>='a' && t[i]<='z')
            21             u = t[i] - 'a';
            22         else u= t[i]-'A'+26;
            23         if(p->next[u]==NULL){
            24             newnode=(tree)malloc(sizeof(Trie));
            25             newnode->cnt=-1;
            26             for(int j=0;j<52;j++)
            27                 newnode->next[j]=NULL;
            28             p->next[u]=newnode;
            29             p=newnode;
            30         }
            31         else
            32             p = p->next[u];
            33     }
            34     if(p->cnt == -1) //該節(jié)點(diǎn)未出現(xiàn)過(guò)
            35         p->cnt = num ++;
            36     return p->cnt;
            37 }
            38  
            39 int findParent(int x){
            40     if(x != sets[x].parent)
            41         sets[x].parent = findParent(sets[x].parent);
            42     return sets[x].parent;
            43 }
            44  
            45 inline void init(){
            46     root=new Trie;
            47     root->cnt=-1;
            48     for(int j=0;j<52;j++)
            49         root->next[j]=NULL;
            50     num=0;
            51     for(int i = 0; i < MAX; i++)
            52         sets[i].parent = i,sets[i].num = 1;
            53 }
            54  
            55 inline bool Union(int x, int y){
            56     x = findParent(x);
            57     y = findParent(y);
            58     if(x == y)
            59         return false;
            60     sets[x].parent = y;
            61     sets[y].num += sets[x].num;
            62     return true;
            63 }
            64  
            65 int main(){
            66     int cas;
            67     while(scanf("%d", &cas) == 1){
            68         while(cas--){
            69             init();
            70             scanf("%d", &n);
            71             int index = 1;
            72             for(int i = 0 ; i < n; i++){
            73                 char f1[25], f2[25];
            74                 int a, b;
            75                 scanf("%s %s", f1, f2);
            76                 a = GetNum(f1);
            77                 b = GetNum(f2);
            78                 Union(a, b);
            79                 int ans1;
            80                 ans1 = findParent(a);
            81                 printf("%d\n",sets[ans1].num);
            82             }
            83         }
            84     }
            85     return 0;
            86 }
            87 
            posted on 2012-03-18 17:13 Leo.W 閱讀(212) 評(píng)論(0)  編輯 收藏 引用

            只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


            91精品免费久久久久久久久| 精品人妻伦一二三区久久| 亚洲国产精品成人久久蜜臀 | 狠狠色丁香婷婷综合久久来 | 2021国内精品久久久久久影院| 伊人久久五月天| 国产精品久久午夜夜伦鲁鲁| 久久电影网一区| AV无码久久久久不卡蜜桃| 天天爽天天爽天天片a久久网| 久久人人爽人爽人人爽av| 蜜臀av性久久久久蜜臀aⅴ麻豆| 国产综合成人久久大片91| 久久精品中文字幕一区| 久久国产精品无码网站| 国产麻豆精品久久一二三| 久久久久久免费视频| 99久久精品费精品国产| 天天躁日日躁狠狠久久| 伊人色综合久久天天人守人婷| 久久精品成人免费看| 亚洲AV日韩AV天堂久久| 无码乱码观看精品久久| 99久久婷婷国产一区二区 | 91久久精品视频| a高清免费毛片久久| 久久精品人人做人人爽电影| 青青热久久国产久精品 | 欧美黑人激情性久久| 国产激情久久久久影院老熟女| 久久国产精品77777| 精品一二三区久久aaa片| 亚洲精品第一综合99久久| 国内精品久久久久久久涩爱| 一本伊大人香蕉久久网手机| 高清免费久久午夜精品| 国产精品国色综合久久| 国产欧美久久一区二区| 狠狠色丁香久久综合五月| 狠狠狠色丁香婷婷综合久久俺| 日韩精品久久无码人妻中文字幕 |