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

我叫張小黑
張小黑的掙扎生活
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年2月>
272829303112
3456789
10111213141516
17181920212223
2425262728291
2345678

常用鏈接

留言簿(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>
            亚洲影院色在线观看免费| 午夜在线a亚洲v天堂网2018| 久久久久久久尹人综合网亚洲| 亚洲欧美三级在线| 午夜精品久久久久久久99水蜜桃| 一区二区三区视频在线看| 一区二区欧美视频| 制服丝袜激情欧洲亚洲| 性色av香蕉一区二区| 久久久久青草大香线综合精品| 性欧美8khd高清极品| 欧美亚洲网站| 美女视频网站黄色亚洲| 亚洲国产经典视频| 99国产精品久久久久久久成人热| 正在播放亚洲| 久久日韩粉嫩一区二区三区| 欧美电影在线免费观看网站| 国产精品久久久久高潮| 影音先锋久久久| 亚洲视频每日更新| 蜜桃伊人久久| 日韩视频在线免费观看| 久久国产精品久久久久久| 欧美激情二区三区| 韩日欧美一区二区三区| 99国产精品久久久| 久久婷婷蜜乳一本欲蜜臀| 日韩午夜中文字幕| 美女亚洲精品| 国内精品视频一区| 亚洲性感激情| 亚洲综合日韩| 美女网站久久| av成人毛片| 老司机免费视频久久| 国产精品大片免费观看| 亚洲丁香婷深爱综合| 亚洲欧美日韩天堂一区二区| 欧美大色视频| 欧美一区三区三区高中清蜜桃| 欧美黄色视屏| 在线观看91精品国产麻豆| 亚洲欧美日韩精品在线| 亚洲另类一区二区| 嫩模写真一区二区三区三州| 国产亚洲aⅴaaaaaa毛片| 亚洲一区二区精品在线| 亚洲国产精品成人综合色在线婷婷| 亚洲欧美国产日韩天堂区| 欧美精品情趣视频| 亚洲美女免费视频| 欧美国产日韩a欧美在线观看| 欧美一区二区三区喷汁尤物| 国产精品久久久久影院亚瑟| 一本高清dvd不卡在线观看| 精品999在线观看| 香蕉久久国产| 国产精品99久久久久久久女警| 欧美激情精品久久久| 亚洲丰满在线| 欧美韩国日本综合| 免费日韩成人| 一本大道久久a久久精二百| 亚洲人成欧美中文字幕| 免费欧美视频| 99精品久久| 一区二区高清视频| 国产精品一区二区男女羞羞无遮挡| 亚洲天堂av在线免费| 日韩视频在线一区二区| 国产精品久久久999| 欧美在线观看一区二区| 欧美一区二区观看视频| 一色屋精品视频免费看| 欧美成人精品一区| 欧美片在线播放| 香蕉久久一区二区不卡无毒影院 | 在线精品视频免费观看| 久久婷婷激情| 欧美黄色网络| 亚洲欧美一区二区视频| 性色av一区二区三区在线观看| 国产午夜精品全部视频播放| 美女91精品| 欧美激情一区二区久久久| 一本色道久久综合亚洲精品不| 99精品视频一区| 一本高清dvd不卡在线观看| 久久中文在线| 欧美成人免费在线视频| 亚洲天堂久久| 久久精品国内一区二区三区| 91久久综合亚洲鲁鲁五月天| 一区二区毛片| 精品999日本| 一本色道久久99精品综合| 国产亚洲福利一区| 欧美激情一区| 国产一区二区日韩精品| 亚洲人成在线播放| 国产午夜久久久久| 亚洲伦理自拍| 亚洲国产成人tv| 午夜精品久久久久久久久久久久久| 影视先锋久久| 一区二区三区毛片| 欧美影视一区| 中国女人久久久| 久久人人精品| 久久久www成人免费无遮挡大片| 欧美激情精品久久久六区热门| 欧美在线视频免费播放| 欧美区一区二| 欧美韩国日本一区| 尤物九九久久国产精品的分类| 一区二区三区国产在线| 亚洲国产精品ⅴa在线观看| 午夜国产不卡在线观看视频| 在线亚洲美日韩| 免费久久99精品国产| 久久久国产午夜精品| 国产精品久久久久久久9999| 91久久在线| 亚洲精品乱码视频| 久久免费高清视频| 久久久夜夜夜| 国产一区清纯| 欧美中文在线字幕| 久久久亚洲综合| 国产自产精品| 久久精品亚洲乱码伦伦中文| 久久久久久69| 国产综合在线看| 欧美中在线观看| 久久精品免费播放| 国内精品视频666| 久久精品女人的天堂av| 久久婷婷综合激情| 伊人男人综合视频网| 久久久久久9| 欧美成人一品| 亚洲精品乱码久久久久久久久 | 亚洲精品乱码久久久久| 亚洲欧洲在线一区| 欧美精品 日韩| 日韩视频永久免费观看| 亚洲天堂av电影| 国产精品视频在线观看| 欧美亚洲视频一区二区| 久久天堂成人| 亚洲国产老妈| 欧美理论在线| 亚洲欧美一区二区激情| 亚洲性感美女99在线| 午夜欧美视频| 国产一区再线| 欧美顶级艳妇交换群宴| 亚洲精选一区二区| 欧美一区二区女人| 精品动漫3d一区二区三区| 久久综合给合| 日韩小视频在线观看专区| 欧美一区二区三区免费在线看| 国外精品视频| 欧美日韩亚洲免费| 欧美一二区视频| 国产一区二区三区在线观看网站 | 国产精品久久久久免费a∨大胸| 午夜精品在线| 欧美高清视频在线播放| 亚洲无线观看| 在线观看视频一区二区| 欧美日本国产一区| 久久国产乱子精品免费女 | 亚洲国产欧美精品| 亚洲欧美日韩天堂一区二区| 狠狠久久五月精品中文字幕| 欧美日韩精品久久久| 欧美在线视频全部完| 亚洲美女黄网| 欧美国产日本韩| 久久精品综合网| 亚洲视频在线二区| 亚洲高清自拍| 国产一区二区三区四区五区美女| 欧美福利视频一区| 久久最新视频| 亚洲永久在线| 日韩亚洲一区在线播放| 国产一区999| 国产精品久久久久9999高清| 欧美成人精品激情在线观看| 欧美淫片网站| 午夜精品久久久久久久蜜桃app| 亚洲激情午夜| 欧美国产精品一区| 久久综合久久久久88| 午夜在线精品| 午夜精品福利一区二区三区av|