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

HDU 1116 Play on Words

HDU 1116 Play on Words
這個題目要運用到歐拉路得相關知識,并且也要并查集,題目說的是:給你n個單詞,要你判斷這些單詞能不能首尾相連。
理解題目意思后,進行轉化,輸入字符串,提取首位字母作為下標來表示兩節點的出現,以及相對應節點入度和出度的增加,
轉化為并查集的應用即可。那么從可以想象一幅由首位字母節點構成的圖,當且僅當圖是一條歐拉回路或者歐拉通路的時候,
才能滿足題目的要求,至于歐拉回路和歐拉通路的判定可以總結為如下:
1)所有的點聯通
2)歐拉回路中所有點的入度和出度一樣。
3)歐拉通路中起點的入度 - 出度 = 1,終點的 初度 - 入度 = 1, 其他的所有點入度 = 出度;

有了上面這些知識點做鋪墊,相信理解起來就比較容易了,下面我的代碼:
 1 #include<stdio.h>   
 2 #include<string.h>   
 3 #include<math.h>   
 4 #define N 30   
 5 /*
 6 歐拉回路,所有點連通,并且所有點的入度等于出度。 
 7 歐拉通路。從原點 S出發,經過所有點,從終點 t出去。 
 8 所有點除起點終點外的度都是偶數,且出度等于入度
 9 起點的出度比入度大 1 
10 終點的入度比出度大 1 
11 */ 
12 
13 int father[N],vis[N];  
14 //father[i] 表示節點 i 的 BOSS ! vis[i]表示節點 i 出現過! 
15 int findx(int x)  
16 {  //找節點  x 的 BOSS ! 
17     if(father[x]!=x)  
18         father[x]=findx(father[x]);  
19     return father[x];  
20 }  
21 void merge(int a,int b)  
22 {  // 合并 節點 a 和節點 b ! 
23     int x,y;  
24     x=findx(a);  
25     y=findx(b);  
26     if(x!=y) father[x]=y;  
27 }  
28 int main()  
29 {  
30     int text,cnt,i,j,n,out[N],in[N],p[30],a,b;  
31     char str[1001];  
32     scanf("%d",&text);  
33     while(text--)  
34     {  
35         scanf("%d",&n);  
36         memset(out,0,sizeof(out));  
37         memset(in,0,sizeof(in));  
38         memset(vis,0,sizeof(vis));  
39         for(i=0;i<26;i++)  
40             father[i]=i;  //初始化數組 
41         while(n--)  
42         {  // 處理所給信息 ! 
43             scanf("%s",str);  
44             a=str[0]-'a';  
45             b=str[strlen(str)-1]-'a';  
46             merge(a,b);  
47             out[a]++;  
48             in[b]++;  // 記錄節點 a 和 b的入度和出度 
49             vis[a]=1;  
50             vis[b]=1//標記節點 a 和 b的出現 
51         }  
52         for(i=0;i<26;i++)  
53             father[i]=findx(i);  //找出每個節點的 BOSS  
54         for(cnt=0,i=0;i<26;i++)  
55             if(vis[i] && father[i]==i)  
56                 cnt++;  // 統計最終 BOSS 即根節點的個數 。 
57         if(cnt>1)  //圖不連通   
58         {  
59             printf("The door cannot be opened.\n");  
60             continue;  
61         }  
62           
63         for(j=0,i=0;i<26;i++)  
64             if(vis[i] && out[i]!=in[i])  
65                 p[j++]=i;  //統計入度和出度不相等的點的信息 
66         if(j==0)   
67         {//歐拉回路,即環   
68             printf("Ordering is possible.\n");  
69             continue;  
70         }  
71         if(j==2 && ( out[p[0]]-in[p[0]]==1 && in[p[1]]-out[p[1]]==1  
72             || out[p[1]]-in[p[1]]==1 && in[p[0]]-out[p[0]]==1 ) )  
73         {//歐拉通路   
74             printf("Ordering is possible.\n");  
75             continue;  
76         }  
77         printf("The door cannot be opened.\n");  
78     }  
79     return 0;  
80 }  
81 




posted on 2011-07-18 10:57 AK 閱讀(2062) 評論(3)  編輯 收藏 引用 所屬分類: 最小生成樹和并查集

評論

# re: HDU 1116 Play on Words 2011-07-31 15:13 bennycen

博主的名字很牛B啊,Orz  回復  更多評論   

# re: HDU 1116 Play on Words 2011-08-07 20:38 sb-acmer

樓主強大呀
  回復  更多評論   

# re: HDU 1116 Play on Words 2011-08-08 13:17 AK

@bennycen
實力有限,只能夠做奴隸哦  回復  更多評論   

<2025年9月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

導航

統計

常用鏈接

留言簿(1)

隨筆分類

隨筆檔案

資源連接

搜索

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美激情久久久久久| 久久婷婷蜜乳一本欲蜜臀| 午夜在线精品| 欧美自拍偷拍午夜视频| 黄色国产精品| 欧美精品在线视频| 欧美中文在线观看国产| 久久婷婷丁香| 99riav久久精品riav| 国产日韩欧美在线一区| 欧美成人dvd在线视频| 欧美成人一区二区| 久久久久9999亚洲精品| 亚洲深夜福利视频| 欧美日韩国产精品一区| 久久超碰97人人做人人爱| 亚洲国产精品热久久| 亚洲女同在线| 亚洲精品免费在线观看| 红桃视频国产精品| 国产日韩在线看片| 国产精品theporn| 欧美电影免费观看高清| 久久精品一区二区国产| 亚洲国产精品尤物yw在线观看| 欧美成人按摩| 欧美一区二区视频观看视频| 欧美激情自拍| 牛牛影视久久网| 美日韩精品视频| 国产精品videosex极品| 欧美不卡激情三级在线观看| 欧美在线一二三区| 亚洲欧美日韩精品一区二区| 一区二区三区视频在线| 亚洲欧美国产精品va在线观看| 99在线精品观看| 一本大道久久a久久精二百| 欧美在线免费视频| 亚洲免费网址| 久久黄金**| 久久成人18免费网站| 欧美一区二区成人| 久久精品免费播放| 久久都是精品| 麻豆91精品| 性做久久久久久久久| 老司机成人网| 一本综合精品| 亚洲一区成人| 欧美在线电影| 9色porny自拍视频一区二区| 一本色道久久88亚洲综合88| 久久国产精品久久久久久电车 | 欧美亚洲综合久久| 免费观看在线综合| 男女精品视频| 在线观看91精品国产麻豆| 蜜臀a∨国产成人精品| 欧美日韩成人在线| 久久蜜臀精品av| 欧美激情视频免费观看| 欧美与欧洲交xxxx免费观看 | 久久婷婷成人综合色| 亚洲六月丁香色婷婷综合久久| 在线亚洲免费| 91久久综合| 性做久久久久久免费观看欧美| 亚洲激情影院| 欧美一区二区三区免费视频| 亚洲婷婷国产精品电影人久久| 久久久久国产精品一区三寸| 亚洲男人的天堂在线aⅴ视频| 欧美黄色一级视频| 激情六月婷婷久久| 亚洲一区二区在线看| 亚洲激情成人| 欧美一区在线直播| 亚洲欧美日韩天堂| 欧美日韩国产一级片| 免费在线播放第一区高清av| 国产精品黄页免费高清在线观看| 老牛嫩草一区二区三区日本| 国产精品久久国产三级国电话系列 | 国产一区二区视频在线观看| 欧美国产日韩视频| 国产一区自拍视频| 午夜精品视频在线观看一区二区| 亚洲小视频在线| 欧美国产日韩一二三区| 久久综合国产精品台湾中文娱乐网| 欧美日韩综合不卡| 一区二区欧美精品| 在线视频免费在线观看一区二区| 免费观看日韩| 欧美黄色aaaa| 亚洲欧洲日夜超级视频| 巨乳诱惑日韩免费av| 老司机67194精品线观看| 国产欧美一区二区三区在线老狼 | 噜噜噜91成人网| 国外成人性视频| 久久精品人人做人人综合| 久久女同互慰一区二区三区| 狠狠色综合网| 另类av导航| 91久久精品国产91久久性色tv| 亚洲福利免费| 免费毛片一区二区三区久久久| 欧美大色视频| 亚洲欧洲日本国产| 欧美日本高清| 亚洲视频网在线直播| 性欧美18~19sex高清播放| 国产精品午夜久久| 久久精品日产第一区二区三区| 欧美va亚洲va国产综合| 91久久国产精品91久久性色| 欧美激情一区二区三区四区| 日韩亚洲欧美精品| 欧美一级欧美一级在线播放| 国内精品视频在线观看| 麻豆九一精品爱看视频在线观看免费| 欧美电影打屁股sp| 一区二区国产精品| 国模大胆一区二区三区| 欧美 日韩 国产一区二区在线视频| 亚洲破处大片| 欧美一区二区在线| 禁久久精品乱码| 欧美日韩八区| 翔田千里一区二区| 99精品热6080yy久久| 欧美色区777第一页| 欧美一区在线看| 亚洲日本中文字幕| 久久av二区| 一本色道久久综合精品竹菊| 国产欧美精品在线观看| 美女视频黄 久久| 一区二区三区蜜桃网| 久久国产精品亚洲77777| 亚洲国产精品电影| 国产精品一区二区在线观看| 久久综合色88| 先锋影院在线亚洲| 日韩午夜在线视频| 美女精品在线| 欧美在线亚洲| 一区二区三区精品国产| 一区二区在线视频| 国产精品高潮粉嫩av| 欧美www视频| 久久精品国内一区二区三区| 亚洲久久成人| 欧美激情在线| 欧美.日韩.国产.一区.二区| 欧美一区二区啪啪| 亚洲女女女同性video| 亚洲美女黄色| 亚洲欧洲三级电影| 亚洲激情视频网| 在线免费观看视频一区| 激情六月婷婷久久| 国产一区av在线| 国产精品视频内| 国产精品福利片| 欧美色欧美亚洲另类七区| 欧美理论电影在线播放| 欧美凹凸一区二区三区视频| 久久精品人人爽| 久久精品亚洲国产奇米99| 午夜在线观看免费一区| 亚洲欧美日产图| 亚洲自拍偷拍网址| 亚洲欧美一区二区三区在线| 亚洲视频欧美视频| 亚洲午夜在线观看视频在线| 一本一本大道香蕉久在线精品| 亚洲美女av黄| 夜夜嗨一区二区| 在线综合亚洲| 午夜精品一区二区在线观看 | 欧美日韩亚洲精品内裤| 欧美激情小视频| 欧美精品91| 欧美三级视频在线| 国产精品免费观看在线| 国产嫩草一区二区三区在线观看 | 亚洲欧美在线高清| 欧美亚洲免费| 久久米奇亚洲| 亚洲国产精品一区| 亚洲毛片在线观看.| 中国成人在线视频| 欧美亚洲视频| 久久九九全国免费精品观看| 久久久噜噜噜久久| 免费的成人av| 欧美精品在线看|