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

我叫張小黑
張小黑的掙扎生活
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>
            亚洲视频在线观看免费| 国产精品网站视频| 男同欧美伦乱| 亚洲欧美日韩精品久久奇米色影视| 免费亚洲电影| 久久久久成人精品| 在线一区日本视频| 亚洲国产精品美女| 国产精品视频你懂的| 久久综合亚州| 欧美高清视频在线| 美女久久网站| 欧美国产精品| 欧美日韩中文字幕在线| 欧美日韩国产黄| 欧美另类极品videosbest最新版本| 久久综合中文字幕| 久久精品国产第一区二区三区| 亚洲国产一区视频| 久久久久这里只有精品| 久久精品一本久久99精品| 欧美一级日韩一级| 国产精品亚洲综合色区韩国| 亚洲欧洲一二三| 欧美日韩国内自拍| a4yy欧美一区二区三区| 一区二区欧美在线| 国产欧美 在线欧美| 激情小说另类小说亚洲欧美| 亚洲国产欧美一区| 亚洲另类春色国产| 久久综合电影| 亚洲五月婷婷| 欧美精品日韩三级| 亚洲国产精品电影| 国产精品久久久久久久app| 久久九九久久九九| 国产精品女人网站| 欧美福利小视频| 国产偷国产偷精品高清尤物| 在线视频精品| 亚洲成人直播| 久久欧美中文字幕| 欧美一区二区三区免费观看视频| 亚洲尤物视频在线| 亚洲精品一区二| 老司机一区二区| 亚洲国产精品一区二区尤物区| 性做久久久久久免费观看欧美| 老司机成人在线视频| 亚洲精品免费网站| 欧美日韩少妇| 欧美日韩国内自拍| 午夜国产精品视频免费体验区| 亚洲人成高清| 欧美日韩精品免费在线观看视频| 亚洲欧洲精品一区二区三区不卡| 欧美成人午夜影院| 国产欧美一区二区精品仙草咪| 亚洲一线二线三线久久久| 99热在线精品观看| 国产区亚洲区欧美区| 美女在线一区二区| 欧美精品精品一区| 亚洲激情视频网站| 欧美极品在线视频| 欧美一二三视频| 久久久久久精| 中文日韩欧美| 欧美电影资源| 国产精品久久久久久久久动漫| 性欧美videos另类喷潮| 欧美一区二区三区男人的天堂| 一区免费在线| 亚洲欧美日韩国产成人精品影院| 国内精品视频久久| 亚洲国产精品ⅴa在线观看| 久久久久国产成人精品亚洲午夜| 久久久久久91香蕉国产| 欧美一区网站| 国产精品视频一| 久久亚洲影院| 国产视频精品va久久久久久| 在线亚洲伦理| 亚洲性视频网站| 欧美午夜精品久久久久久超碰| 午夜伦欧美伦电影理论片| 欧美精品久久久久久| 国产一区二区三区在线观看网站| 美女福利精品视频| 国产欧美日韩三级| 亚洲一二三区在线| 一本色道久久99精品综合| 亚洲青色在线| 亚洲三级电影在线观看| 亚洲国产高清一区| 免费av成人在线| 99国产精品99久久久久久| 亚洲无限av看| 国产一区二区三区电影在线观看| 亚洲天堂视频在线观看| 欧美有码在线观看视频| 黄色成人在线网址| 欧美精品一区二区精品网| 亚洲在线视频观看| 一本色道久久综合精品竹菊| 欧美成人精品在线播放| 亚洲美女在线视频| 韩国av一区二区三区| 欧美日韩国产精品成人| 久久精品五月婷婷| 亚洲午夜国产一区99re久久 | 在线一区二区三区做爰视频网站| 新狼窝色av性久久久久久| 亚洲第一成人在线| 国产日本精品| 欧美揉bbbbb揉bbbbb| 欧美日本簧片| 欧美日韩精品免费观看视一区二区 | 久久成人人人人精品欧| 亚洲天堂av综合网| 黄色成人91| 国产性做久久久久久| 在线午夜精品自拍| 亚洲国产天堂久久国产91| 麻豆精品一区二区av白丝在线| 亚洲宅男天堂在线观看无病毒| 亚洲日本va午夜在线影院| 国产精品人人做人人爽人人添 | 中文欧美字幕免费| 中文精品99久久国产香蕉| 亚洲一区综合| 欧美一区二区三区电影在线观看| 亚洲伦理在线观看| 一本色道久久综合精品竹菊| 欧美精品日韩综合在线| 欧美视频在线不卡| 国产亚洲精品aa| 精品福利免费观看| 亚洲网友自拍| 久久夜精品va视频免费观看| 一区二区三区色| 久久精品99国产精品日本| 欧美91大片| 国产精品一区久久久| 亚洲国产精品va在看黑人| 亚洲一区二区三区四区在线观看 | 欧美伦理视频网站| 国产一区二区三区久久精品| 亚洲第一天堂无码专区| 亚洲嫩草精品久久| 在线观看一区二区视频| 99热免费精品| 欧美aa在线视频| 国产日韩在线视频| 欧美va天堂va视频va在线| 欧美成人小视频| 美女在线一区二区| 久久精品二区三区| 国产日韩欧美一区| 性欧美暴力猛交69hd| 艳妇臀荡乳欲伦亚洲一区| 欧美日韩国产成人在线91| 亚洲欧洲在线播放| 欧美国产综合| 六月婷婷一区| 一区二区激情| 亚洲欧美激情精品一区二区| 欧美午夜精品理论片a级按摩| 99国产精品国产精品毛片| 最新69国产成人精品视频免费 | 久久爱www| 亚洲精品欧洲| 国产精品亚洲产品| 久久免费高清| 国产欧美日韩高清| 欧美一区二区三区另类| 久久精品视频va| 亚洲人成免费| 亚洲一区二区三区影院| 国产精品护士白丝一区av| 亚洲欧美国产日韩中文字幕| 欧美影视一区| 制服丝袜激情欧洲亚洲| 久久成人国产精品| 一区二区欧美在线观看| 亚洲香蕉视频| 亚洲精品在线看| 香蕉成人啪国产精品视频综合网| 好看的日韩视频| 亚洲国产成人久久| 亚洲蜜桃精久久久久久久| 国产一区二区三区四区五区美女| 久久久久国产精品厨房| 国产精品黄色在线观看| 亚洲人成在线观看网站高清| 国产亚洲精品bt天堂精选| 欧美性色视频在线| 久久精品在线播放| 国产性天天综合网|