青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

我叫張小黑
張小黑的掙扎生活
posts - 66,  comments - 109,  trackbacks - 0
http://acm.pku.edu.cn/JudgeOnline/problem?id=2513
這道題是直接拿前幾天寫得模版改的;做了幾個修改
首先刪掉了search,這道題的確不需要,本來沒刪,代碼實在太長,逼得我沒辦法
第二個,把trie中num[]的意思改掉了,num[]現在存的是字符串在一個數組的標記,
相當于map的實現,通過這樣我把一個字符串和一個標號對應上了,方便了并查集的操作
果然很久沒碰并查集了,一寫就出問題,
主要是我union_set是居然忘了要先find_set一下,這樣寫針對下面這組數據就會出現問題:
a b
b a
a a
還有一個就是這道題的空輸入問題,要輸出possible,而不是Impossible
一下是我的垃圾代碼,跑了500多,有誰有更好的發我郵箱哈: zhangjia888334@sohu.com
#include<iostream>
#include
<cstring>
#define keyNum 
26
#define MaxN 
500005
struct node{
    
int parent;
    
int rank;
    
int num;//這個顏色出現的次數
    node()
    {
        num
=rank=0;
        parent
=-1;
    }
};
node colour[MaxN];
int id=0;//數組標記
struct trie{
    struct trieNode{
//trie結點的結構
    trieNode 
*link[keyNum];//下標為 'a' , 'b' , 'c' ,  , 'z' 的指針數組
    int num[keyNum];//插入這個單詞在數組中的位置
    trieNode(){
        memset(num,
-1,sizeof(num));//-1表示還未插入數組
        memset(link,
NULL,sizeof(link));
        }
    void init(){
        memset(link,
NULL,sizeof(link));
        memset(num,
-1,sizeof(num));
    }
    };
    trieNode
* root;
    trie()
    {
        root
=(trieNode*)malloc(sizeof(trieNode));//初始化時為root申請了空間
        root
->init();
    }
    
int Insert(char []);//返回數組中的位置
    void Delete(trieNode
*);//釋放空間
};
void trie::Delete(trieNode
* t)
{
    
int i;
    
for(i=0;i<keyNum;i++)
        
if(t->link[i])Delete(t->link[i]);
    memset(t
->num,0,sizeof(t->num));
    delete(t);
}
int trie::Insert(char x[])
{
    trieNode 
*current=root;
    
int i=1;
    
while(x[i]){
        
if(current->link[x[i-1]-'a']==NULL){
            current->link[x[i-1]-'a']=(trieNode*)malloc(sizeof(trieNode));
            (current->link[x[i-1]-'a'])->init();
        }
        current
=current->link[x[i-1]-'a'];
        i++;
    }
    
if(current->num[x[i-1]-'a']==-1)
        current->num[x[i-1]-'a']=id++;
    colour[current->num[x[i-1]-'a']].num++;//出現的次數++
    return current->num[x[i-1]-'a'];
}
void init()
{
    
int i;
    
for(i=0;i<MaxN;i++)
        colour[i].parent
=i;
}
void union_set(
int x,int y)
{
    
if(colour[x].rank>colour[y].rank)
        colour[y].parent
=x;
    
else {
        colour[x].parent
=y;
        
if(colour[x].rank==colour[y].rank)
            colour[y].rank
++;
    }
}
int find_set(int x)
{
    
if(x!=colour[x].parent)
        colour[x].parent
=find_set(colour[x].parent);
    return colour[x].parent;
}
bool comman_father()
{
    
int i,p=0;
    p
=find_set(0);
    
for(i=1;i<id;i++)
        
if(find_set(i)!=p)return false;
    return 
true;
}
void solve()
{
    
if(comman_father()==false){
        printf(
"Impossible\n");
        return;
    }
    
int i,head_end=0;
    
for(i=0;i<id;i++)
        
if(colour[i].num%2==1)//判斷頭和尾
            head_end
++;
    
if(head_end==2||!head_end)//一個沒回路,一個是有回路
        printf(
"Possible\n");
    
else printf("Impossible\n");
}
int main()
{
    char colr1[
12],colr2[12];
    trie a;
    
int ncolr1,ncolr2;
    init();
    
while(scanf("%s%s",colr1,colr2)!=EOF){
        ncolr1
=a.Insert(colr1);
        ncolr2
=a.Insert(colr2);
        union_set(find_set(ncolr1),find_set(ncolr2));
    }
    
//下面判斷有幾個parent,若有多個失敗
    solve();
    a.Delete(a.root);
    return 
0
}
posted on 2008-04-08 18:35 zoyi 閱讀(904) 評論(1)  編輯 收藏 引用 所屬分類: acm數據結構

FeedBack:
# re: trie樹+并查集
2008-04-08 19:41 | arena_zp
不知道為什么,
我的始終在 1300 + 。。
莫名~~~~~  回復  更多評論
  
歡迎光臨 我的白菜菜園

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

常用鏈接

留言簿(8)

隨筆分類

隨筆檔案

文章檔案

相冊

acmer

online judge

隊友

技術

朋友

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            91久久精品一区| 亚洲国产天堂久久综合网| 亚洲影院在线观看| 一区二区三区免费在线观看| 亚洲精品视频在线观看网站| 亚洲精品日产精品乱码不卡| 欧美激情第1页| 亚洲大胆视频| 亚洲欧洲日韩综合二区| 99riav久久精品riav| 在线亚洲成人| 欧美一区2区视频在线观看 | 亚洲国产精品一区二区www在线 | 亚洲电影免费在线| 亚洲人成网站色ww在线| 日韩一级成人av| 在线视频你懂得一区| 亚洲综合999| 久久久欧美精品sm网站| 欧美激情一区二区三区在线视频观看| 欧美激情亚洲视频| 一本色道久久综合狠狠躁篇怎么玩 | 亚洲精品免费一区二区三区| 一区二区三区 在线观看视| 国产日韩欧美一区在线| 欧美专区在线| 美女尤物久久精品| 欧美日韩精品免费看| 国产区精品在线观看| 亚洲第一综合天堂另类专| 日韩一区二区精品| 久久精品二区| 你懂的国产精品永久在线| 亚洲精品色图| 久久黄色网页| 国产精品久久久一区麻豆最新章节 | 久久久91精品国产| 亚洲激情午夜| 久久精品综合| 国产精品久在线观看| 亚洲国产精品va在线看黑人| 亚洲一级电影| 欧美激情精品久久久久久黑人| 亚洲精品中文字幕女同| 久久久91精品国产| 国产精品xxxxx| 亚洲激情图片小说视频| 久久精品91| 亚洲精品一区二区三区av| 欧美电影电视剧在线观看| 这里是久久伊人| 欧美成人免费一级人片100| 国产亚洲精品aa午夜观看| 亚洲免费福利视频| 欧美不卡在线| 久久男人资源视频| 国产亚洲综合精品| 欧美有码在线观看视频| 一本久道久久久| 欧美精品尤物在线| 亚洲国产精品一区二区第四页av| 久久精品国产精品| 亚洲在线黄色| 国产精品网红福利| 亚洲一区免费网站| 日韩视频精品| 欧美人与性禽动交情品| 日韩午夜av| 亚洲国产日韩欧美在线99| 老司机免费视频久久| 激情综合色综合久久| 久久久久久高潮国产精品视| 欧美诱惑福利视频| 狠狠网亚洲精品| 老司机午夜精品视频| 久久精品官网| 亚洲激情在线| 亚洲日韩欧美视频一区| 国产精品高潮呻吟久久| 蜜臀91精品一区二区三区| 欧美搞黄网站| 亚洲国产第一页| 欧美国产精品v| 欧美激情一区二区三区蜜桃视频| 最新亚洲视频| 日韩视频在线永久播放| 欧美日韩国产小视频在线观看| 亚洲视频狠狠| 亚洲视频 欧洲视频| 国产欧美1区2区3区| 久久在线91| 欧美国产高清| 亚洲欧美一区二区原创| 性做久久久久久久免费看| 欲色影视综合吧| 亚洲精品婷婷| 国产一区二区三区黄视频| 欧美激情中文字幕一区二区| 欧美午夜精品理论片a级大开眼界 欧美午夜精品理论片a级按摩 | 美国十次了思思久久精品导航| 老司机67194精品线观看| 一二三区精品福利视频| 午夜精品久久久久久久99水蜜桃 | 亚洲精品国产品国语在线app| 国产精品自拍视频| 亚洲激情一区二区| 国产欧美日韩激情| 亚洲精品视频一区二区三区| 好吊色欧美一区二区三区四区| 亚洲精品日韩激情在线电影 | 欧美亚洲日本一区| 欧美大片91| 玖玖玖国产精品| 国产精品久久久久一区二区| 欧美激情中文不卡| 在线不卡中文字幕播放| 午夜精品免费视频| 亚洲午夜激情在线| 欧美岛国在线观看| 欧美国产一区视频在线观看| 国产一区二区电影在线观看| 亚洲毛片一区| 亚洲精品色图| 噜噜噜躁狠狠躁狠狠精品视频 | 久久精品视频一| 国产精品v日韩精品| 亚洲高清在线视频| 一区二区在线观看av| 亚洲性色视频| 亚洲第一精品影视| 乱人伦精品视频在线观看| 国产精品播放| 久久米奇亚洲| 在线综合欧美| 欧美日韩国产精品专区| 免费观看亚洲视频大全| 国产精品久久国产三级国电话系列| 久久一区中文字幕| 久久精品亚洲乱码伦伦中文| 久久久久网址| 国产精品毛片在线看| 亚洲国产一区二区三区青草影视| 国产一区二区久久久| 久久在线观看视频| 在线日韩欧美| 久久久亚洲高清| 久久久亚洲一区| 国产亚洲欧美一区二区| 午夜精品久久久久久久99黑人| 一区电影在线观看| 欧美成人a视频| 欧美成人精品h版在线观看| 国产日韩一区二区三区在线播放| 欧美一区三区三区高中清蜜桃| 欧美亚洲自偷自偷| 国产精品福利在线观看| 一区二区三区国产精华| 亚洲少妇自拍| 国产亚洲人成a一在线v站| 亚洲主播在线观看| 欧美亚洲综合另类| 国产精品欧美日韩久久| 亚洲欧美日韩国产一区二区三区| 久久久久久久久久久久久女国产乱| 国产精品日韩在线| 午夜精品视频一区| 久久久亚洲一区| 一本色道久久综合亚洲精品婷婷 | 亚洲男人第一网站| 国产精品成人在线| 久久久精品午夜少妇| 欧美激情视频给我| 亚洲国产成人久久| 欧美精品99| 一区二区高清| 国模私拍视频一区| 久久综合九色综合欧美就去吻 | 久久精品网址| 亚洲第一网站| 欧美国产日韩在线| av成人动漫| 欧美国产大片| 亚洲无毛电影| 国产一二三精品| 免费h精品视频在线播放| 欧美www视频| 久久国产精品亚洲77777| 黄色av一区| 久久久久久久一区二区三区| 亚洲高清视频一区二区| 午夜久久久久久| 亚洲国产精品第一区二区三区| 欧美大片在线观看一区| 亚洲一区二区av电影| 久久综合电影| 久久综合九色九九| 欧美少妇一区二区| 午夜精品久久久久久久99樱桃| 欧美大片免费| 久久狠狠婷婷|