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

我希望你是我獨家記憶

一段永遠封存的記憶,隨風而去
posts - 263, comments - 31, trackbacks - 0, articles - 3
   :: 首頁 :: 新隨筆 ::  :: 聚合  :: 管理

URAL——1056——(樹中心--BFS)

Posted on 2008-08-21 20:33 Hero 閱讀(307) 評論(0)  編輯 收藏 引用 所屬分類: 代碼如詩--ACM
  1 //    1056    C++    Accepted    0.031    1 045 KB
  2 
  3 //twice BFS 第一次找離節點1最遠的點K,再找離K最遠的點X,
  4 //K--X就是最長鏈,鏈上的中點就是中心 O(n)
  5 
  6 #include <stdio.h>
  7 #include <stdlib.h>
  8 #include <string.h>
  9 
 10 const int size = 10010 ;
 11 struct NODE
 12 {
 13     int en ;
 14     struct NODE * next ;
 15     NODE() { next = NULL ; }
 16 };
 17 struct NODE nhead[size] ;
 18 
 19 struct QUEUE
 20 {
 21     int val ;
 22     int level ;
 23 };
 24 struct QUEUE que[size] ;
 25 int head, tail ;
 26 
 27 int line[size] ;
 28 int flag[size] ;
 29 
 30 int father[size] ;
 31 
 32 int inn ;
 33  
 34 int fmin( int a, int b )
 35 {
 36     return a < b ? a : b ;
 37 }
 38 
 39 int fmax( int a, int b )
 40 {
 41     return a > b ? a : b ;
 42 }
 43 
 44 void input()
 45 {
 46     memset( father, -1sizeof(father) ) ;
 47 
 48     int en ;
 49     forint i=2; i<=inn; i++ ) 
 50     {
 51         scanf( "%d"&en ) ; father[i] = en ;
 52         struct NODE *temp1 = (struct NODE *)malloc( sizeof(NODE) ) ;
 53         temp1->en = en ;
 54         temp1->next = nhead[i].next ; nhead[i].next = temp1 ;
 55         struct NODE *temp2 = (struct NODE *)malloc( sizeof(NODE) ) ;
 56         temp2->en = i ;
 57         temp2->next = nhead[en].next ; nhead[en].next = temp2 ;
 58     }//建圖
 59 }
 60 
 61 void BFS( int sn )
 62 {
 63     memset( flag, 0sizeof(flag) ) ;
 64     que[tail].val = sn ; que[tail++].level = 1 ; flag[sn] = 1 ;
 65 
 66     int curn ; struct NODE *p ;
 67     while( head < tail )
 68     {
 69         curn = que[head].val ;
 70         p = nhead[curn].next ;
 71         while( NULL != p )
 72         {
 73             if0 == flag[p->en] ) 
 74             {
 75                 flag[p->en] = 1 ; 
 76                 que[tail].val = p->en ;
 77                 que[tail++].level = que[head].level + 1 ;
 78             }
 79             p = p->next ;
 80         }
 81         head++ ;//容易忘記
 82     }
 83 }
 84 
 85 void process()
 86 {
 87     head = tail = 0 ; BFS( 1 ) ;
 88 
 89     int leaf = que[tail-1].val ;
 90 
 91     head = tail = 0 ; BFS( leaf ) ;
 92 }
 93 
 94 void output()
 95 {//尋找最長鏈
 96         
 97     line[0= 0 ; int p = tail-1 ;
 98 
 99     int maxlen = que[tail-1].level ; line[maxlen] = que[tail-1].val ;
100     forint i=maxlen-1; i>=1; i-- )
101     {
102         while( que[p].level > i && p>=0 ) p-- ;
103 
104         while( father[que[p].val]!=line[i+1]&&father[line[i+1]]!=que[p].val && p>=0 ) p-- ;
105         line[i] = que[p].val ;
106     }
107 
108     int x = (maxlen+1)/2 ;
109     if1 == (maxlen&1) )
110     {
111         printf( "%d\n", line[x] ) ;
112     }
113     else
114     {
115         printf( "%d %d\n", fmin( line[x], line[x+1] ), fmax( line[x], line[x+1]) ) ;
116     }
117 }
118 
119 int main()
120 {
121     while( scanf( "%d"&inn ) != EOF )
122     {
123         input() ;
124 
125         process() ;
126 
127         output() ;
128     }
129 
130     return 0 ;
131 }
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            伊人狠狠色丁香综合尤物| 免费欧美日韩| 欧美69wwwcom| 欧美在线视频一区二区| 亚洲一区二区三区久久| av成人免费在线观看| 亚洲精品在线视频| 一本色道久久综合亚洲精品小说| 国产亚洲成av人在线观看导航| 国产精品乱码一区二三区小蝌蚪| 欧美日韩视频在线观看一区二区三区| 男人的天堂成人在线| 欧美精品九九| 国产精品露脸自拍| 亚洲风情在线资源站| 一本一本大道香蕉久在线精品| 亚洲美女av在线播放| 午夜精品在线视频| 久久亚洲国产成人| 亚洲日本免费电影| 亚洲自拍电影| 欧美精品久久久久a| 国产精品一区二区三区四区| 国内外成人免费激情在线视频网站| 亚洲第一网站| 久久久久综合网| 亚洲国产成人一区| 欧美一区高清| 国产精品免费福利| 亚洲最快最全在线视频| 亚洲高清成人| 久久婷婷成人综合色| 国产精品视频yy9099| 亚洲国产精品va在看黑人| 亚洲欧美中文日韩v在线观看| 国产一区二区三区免费不卡| 日韩一区二区免费高清| 亚洲第一区色| 免费精品99久久国产综合精品| 国产一区欧美| 另类激情亚洲| 麻豆9191精品国产| 亚洲欧洲一区二区在线观看| 免费在线日韩av| 欧美电影在线观看完整版| 亚洲国产欧美不卡在线观看| 欧美大胆人体视频| 欧美人与禽猛交乱配视频| 亚洲午夜av电影| 一本色道久久88精品综合| 欧美无砖砖区免费| 久久久久亚洲综合| 欧美wwwwww| 久久―日本道色综合久久| 亚洲欧洲中文日韩久久av乱码| 亚洲精品国产日韩| 欧美激情精品久久久久久久变态| 久久久久在线观看| 欧美搞黄网站| 免费成人美女女| 欧美中文字幕在线观看| 久久精品网址| 日韩视频一区| 欧美日韩国产精品自在自线| 亚洲一区高清| 99国产精品久久久| 欧美丝袜一区二区| 中文在线一区| 欧美日韩网站| 亚洲精品久久久蜜桃| 亚洲午夜精品久久久久久浪潮 | 亚洲特级片在线| 欧美一区二区三区喷汁尤物| 日韩小视频在线观看专区| 久久精品国产一区二区三| 欧美性淫爽ww久久久久无| 一区二区三区导航| 欧美在线看片a免费观看| 9i看片成人免费高清| 蜜月aⅴ免费一区二区三区 | 欧美日韩免费看| 亚洲高清网站| 亚洲国产精品一区二区www| 久久久久久久国产| 欧美gay视频激情| 最新国产成人在线观看| 欧美精品激情blacked18| 亚洲精品一区久久久久久| 一本综合精品| 国产区亚洲区欧美区| 久久国产精品第一页| 欧美va天堂在线| 一本综合久久| 精品av久久707| 欧美日韩精品系列| 亚洲综合国产激情另类一区| 久久av红桃一区二区小说| 精品av久久707| 国产精品扒开腿做爽爽爽软件 | 欧美粗暴jizz性欧美20| 亚洲小说区图片区| 久久久青草婷婷精品综合日韩 | 美日韩在线观看| 欧美激情一二区| 亚洲欧美日韩综合| 亚洲人成人99网站| 伊人久久婷婷| 国产一区二区日韩精品| 欧美午夜精品久久久久久孕妇| 久久精品av麻豆的观看方式| 在线视频你懂得一区二区三区| 农村妇女精品| 久热爱精品视频线路一| 久久大逼视频| 久久国产精品72免费观看| 亚洲欧美999| 午夜精品美女自拍福到在线| 亚洲小说欧美另类社区| 亚洲日本视频| 日韩天堂在线观看| 亚洲天堂成人在线观看| 亚洲永久免费| 久久av一区| 欧美丰满少妇xxxbbb| 欧美国产精品va在线观看| 亚洲第一色在线| 亚洲久久一区| 久久精精品视频| 欧美搞黄网站| 国产精品高潮呻吟| 国产免费观看久久| 国产伦理一区| 亚洲精品永久免费| 欧美一区二区性| 欧美大片免费观看在线观看网站推荐 | 亚洲日本理论电影| 亚洲欧美激情在线视频| 欧美一区二区三区四区高清| avtt综合网| 欧美日韩另类一区| 老色鬼精品视频在线观看播放| 蘑菇福利视频一区播放| 久热精品视频在线观看一区| 国产美女精品免费电影| 亚洲欧美精品一区| 午夜欧美精品久久久久久久| 欧美日韩国产va另类| 亚洲久久在线| 亚洲欧美激情视频| 国产精品亚洲精品| 午夜久久黄色| 久久这里有精品15一区二区三区| 国产最新精品精品你懂的| 久久精彩免费视频| 欧美激情一级片一区二区| av成人免费观看| 国产精品视频在线观看| 久久精品视频免费观看| 亚洲电影观看| 夜夜嗨av色综合久久久综合网| 欧美日韩免费精品| 午夜电影亚洲| 亚洲丁香婷深爱综合| 亚洲一区二区三区三| 国产一区二区三区高清在线观看| 久久久久青草大香线综合精品| 亚洲高清网站| 欧美一级网站| 亚洲欧洲一区二区三区| 国产精品久久久久久久午夜片| 欧美在线免费观看视频| 亚洲国产经典视频| 欧美在线3区| 亚洲激情综合| 国产免费亚洲高清| 欧美精品1区2区3区| 欧美中文字幕在线播放| 亚洲免费观看高清完整版在线观看| 小黄鸭精品密入口导航| 91久久精品美女高潮| 国产精品女人久久久久久| 免费久久99精品国产自| 先锋影院在线亚洲| 99热精品在线观看| 欧美大学生性色视频| 久久国产精品色婷婷| 亚洲天天影视| 亚洲破处大片| 伊人色综合久久天天| 国产精品尤物福利片在线观看| 欧美成人午夜剧场免费观看| 久久丁香综合五月国产三级网站| 一本久道久久综合中文字幕| 欧美激情按摩| 美女脱光内衣内裤视频久久网站| 香蕉久久夜色| 亚洲欧美日韩国产一区二区三区| 日韩视频不卡| 亚洲全部视频| 亚洲国产日韩美|