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

我叫張小黑
張小黑的掙扎生活
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>
            亚洲电影在线免费观看| 国产无一区二区| 一区二区三区精品视频| 亚洲精品视频在线观看网站| 亚洲欧洲一区二区在线观看| 亚洲国产成人在线| 亚洲国产乱码最新视频| 亚洲国内自拍| 亚洲一品av免费观看| 午夜日韩视频| 可以看av的网站久久看| 欧美日韩99| 国产欧美在线观看| 亚洲国产婷婷香蕉久久久久久99| 亚洲精品中文在线| 亚洲一级网站| 久久在线视频在线| 99国产精品99久久久久久| 亚洲欧美自拍偷拍| 欧美福利网址| 国产欧美日韩一级| 亚洲精品免费一区二区三区| 香蕉久久一区二区不卡无毒影院| 久久网站热最新地址| 91久久久国产精品| 性娇小13――14欧美| 美腿丝袜亚洲色图| 国产精品专区第二| 亚洲毛片播放| 久热国产精品| 亚洲欧美卡通另类91av| 欧美高清视频一区| 一区在线视频观看| 香蕉免费一区二区三区在线观看| 亚洲国产一区二区三区青草影视 | 欧美高清在线播放| 国产主播一区二区| 亚洲自拍偷拍麻豆| 亚洲国内在线| 免费在线看成人av| 好看不卡的中文字幕| 亚洲天堂第二页| 你懂的视频一区二区| 午夜天堂精品久久久久| 国产精品二区影院| 一区二区三区精品国产| 亚洲国产精品成人综合| 久久久综合网站| 国模一区二区三区| 久久国产天堂福利天堂| 午夜精品久久久久久| 欧美香蕉大胸在线视频观看| 亚洲人体一区| 欧美激情中文字幕在线| 久久天天躁狠狠躁夜夜爽蜜月| 国产一区999| 久久aⅴ乱码一区二区三区| 亚洲一区二区日本| 国产精品夜夜夜一区二区三区尤| 在线视频亚洲一区| 亚洲啪啪91| 欧美伦理影院| 亚洲男人的天堂在线| 亚洲一区欧美| 国产精品日韩在线观看| 亚洲视频免费在线| 亚洲一区二区三区四区在线观看 | 亚洲免费在线| 99视频一区二区| 国产精品国产三级国产普通话99 | 亚洲精品极品| 欧美激情四色 | 亚洲一二区在线| 国产精品超碰97尤物18| 亚洲欧美日韩综合aⅴ视频| 亚洲电影免费观看高清完整版在线| 久久不见久久见免费视频1| 午夜精品成人在线| 在线播放中文一区| 亚洲大片精品永久免费| 欧美激情va永久在线播放| 中文亚洲免费| 欧美一区二区三区精品| 亚洲福利国产| 一区二区欧美亚洲| 国产一区二区三区四区老人| 蜜臀91精品一区二区三区| 欧美—级a级欧美特级ar全黄| 亚洲午夜91| 久久精品最新地址| 99国产成+人+综合+亚洲欧美| 亚洲图片欧美一区| 在线日韩一区二区| 日韩亚洲在线| 激情一区二区三区| 亚洲免费观看在线视频| 国产一区91| 亚洲欧洲精品一区二区三区| 国产精品九九久久久久久久| 麻豆久久精品| 国产精品福利在线观看| 六月天综合网| 欧美日韩精品免费观看| 久久久水蜜桃| 欧美三级电影一区| 欧美成人一品| 国产精品普通话对白| 欧美丰满高潮xxxx喷水动漫| 国产精品亚洲人在线观看| 亚洲人成网站在线播| 国产一区二区三区在线免费观看| 亚洲激情小视频| 尤物九九久久国产精品的特点 | 亚洲福利视频在线| 国产精品久久久久久久久果冻传媒| 久久视频免费观看| 国产精品久久77777| 亚洲高清久久网| 激情六月婷婷久久| 亚洲男女自偷自拍| 亚洲一二三区在线观看| 欧美国产日韩二区| 欧美成人精品影院| 亚洲特级毛片| 99天天综合性| 久久亚洲精品中文字幕冲田杏梨| 欧美一区二区三区另类| 欧美午夜不卡在线观看免费| 亚洲高清免费在线| 亚洲欧洲一区二区在线播放| 久久久精品视频成人| 久久精品人人做人人爽| 国产欧美一区二区精品性| 国产精品99久久久久久宅男| 亚洲视频自拍偷拍| 欧美体内谢she精2性欧美| 亚洲毛片一区二区| 一区二区三区黄色| 欧美日本久久| 99av国产精品欲麻豆| 亚洲乱码国产乱码精品精天堂| 乱码第一页成人| 亚洲电影在线| 亚洲三级视频| 欧美人与性动交α欧美精品济南到| 亚洲国产二区| 在线视频一区二区| 国产精品日韩精品| 午夜精品美女自拍福到在线| 欧美一区二区三区免费视频| 国产区在线观看成人精品| 欧美亚洲在线| 欧美国产精品一区| 99在线精品视频| 国产精品麻豆成人av电影艾秋| 先锋影音网一区二区| 久久亚洲精品网站| 亚洲美女淫视频| 欧美三级在线视频| 亚洲专区欧美专区| 久久综合狠狠综合久久激情| 亚洲激情一区二区三区| 欧美日韩一区二区国产| 亚洲综合国产精品| 欧美77777| 亚洲一区二区视频| 国内精品伊人久久久久av一坑| 美女日韩在线中文字幕| 99视频日韩| 欧美99久久| 亚洲天堂成人在线视频| 国内精品久久久久影院色| 欧美风情在线| 午夜亚洲福利| 亚洲精品欧美在线| 久久久久国色av免费看影院| 亚洲国产成人午夜在线一区| 欧美三区在线视频| 久久精品一区二区三区四区| 亚洲肉体裸体xxxx137| 久久久999精品免费| 99pao成人国产永久免费视频| 国产日韩欧美在线一区| 欧美高清一区| 久久免费视频在线| 亚洲女女女同性video| 亚洲欧洲三级| 欧美大胆a视频| 久久久国产一区二区| 亚洲视频网在线直播| 91久久精品国产91久久| 国产日韩在线亚洲字幕中文| 欧美日本不卡高清| 美女诱惑一区| 久久久欧美精品| 亚洲女人av| 亚洲一区二区在线看| 夜夜嗨网站十八久久| 亚洲黄色一区| 亚洲国产cao|