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

我希望你是我獨家記憶

一段永遠封存的記憶,隨風而去
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 第一次找離節(jié)點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 }

只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲国产成人精品久久| 国产精品专区第二| 亚洲人成艺术| 亚洲欧美日韩国产成人精品影院 | 欧美电影免费观看高清| 欧美激情2020午夜免费观看| 久久久九九九九| 久久久精品国产免大香伊| 亚洲激情视频网站| 欧美国产日韩一区| 亚洲精品免费看| 欧美日韩久久久久久| 久久一区二区三区国产精品| 欧美成人一区在线| 国产精品免费一区二区三区观看| 欧美日韩亚洲一区三区| 国产欧美日韩精品丝袜高跟鞋| 亚洲缚视频在线观看| 一区二区三区欧美在线| 亚洲一二三区在线观看| 欧美一级在线视频| 欧美黑人多人双交| 99国产一区二区三精品乱码| 午夜精品在线看| 欧美激情日韩| 在线电影院国产精品| 一本色道久久综合亚洲精品按摩 | 欧美日韩八区| 伊伊综合在线| 久久久www成人免费精品| 亚洲精品视频一区| 久久精品中文| 国产精品永久免费视频| 亚洲欧美另类在线观看| 亚洲风情亚aⅴ在线发布| 午夜日韩av| 国产亚洲制服色| 欧美一级在线播放| 午夜亚洲福利| 在线观看成人小视频| 久久久国产成人精品| 欧美影院在线播放| 亚洲高清视频一区二区| 亚洲第一精品影视| 欧美精品一区二区三区很污很色的| 今天的高清视频免费播放成人| 久久精品视频免费播放| 麻豆精品视频在线观看视频| 国产精品久久久亚洲一区| 亚洲乱码日产精品bd| 亚洲国产精品久久久久| 蜜月aⅴ免费一区二区三区| 亚洲国产成人tv| 女主播福利一区| 久久av红桃一区二区小说| 怡红院精品视频在线观看极品| 亚洲一区二区三区久久| 午夜电影亚洲| 日韩网站免费观看| 午夜亚洲视频| 亚洲视频一区在线观看| 久久激情综合网| 亚洲尤物视频网| 蜜臀av在线播放一区二区三区| 亚洲视频图片小说| 免费不卡在线观看av| 欧美专区第一页| 欧美天天在线| 亚洲国产你懂的| 精品不卡一区| 久久色在线观看| 欧美一区二区精品久久911| 久久免费高清视频| 亚洲欧美日韩精品综合在线观看| 久久蜜桃香蕉精品一区二区三区| 亚洲欧美日韩精品久久久久| 欧美国产第二页| 亚洲欧洲在线视频| 亚洲视频图片小说| 欧美美女bb生活片| 日韩一二三在线视频播| 一区二区激情视频| 欧美亚洲第一区| 欧美午夜视频一区二区| 99视频日韩| 久久精品国产免费| 国产日韩欧美亚洲一区| 欧美一区二区性| 欧美大片va欧美在线播放| 亚洲日本一区二区| 国产精品天天看| 久久精品人人做人人爽电影蜜月| 久久这里只有| 亚洲桃花岛网站| 在线观看日韩av电影| 欧美另类videos死尸| 亚洲自拍偷拍网址| 欧美激情一区二区三区四区| 亚洲一区二区三区四区五区黄| 国产女主播一区二区| 欧美激情2020午夜免费观看| 久久成人久久爱| 一区二区三区精品久久久| 免费日韩av片| 美女黄毛**国产精品啪啪 | 国产精品久久久久aaaa| 性伦欧美刺激片在线观看| 日韩视频在线免费| 亚洲国产成人高清精品| 久久久久网站| 久久久国产成人精品| 亚洲在线视频网站| 亚洲视频在线观看视频| 亚洲日本理论电影| 亚洲精品久久久久久一区二区| 国产一区久久久| 影音先锋日韩精品| 国产视频久久网| 国产一区二区三区免费在线观看| 欧美二区不卡| 亚洲综合好骚| 亚洲精品偷拍| 狠狠色综合网| 中文高清一区| 欧美成年人视频网站| 亚洲国产成人高清精品| 噜噜噜躁狠狠躁狠狠精品视频 | 欧美日韩亚洲另类| 亚洲国产视频一区| 久久综合亚州| 性久久久久久久| 国产午夜精品美女视频明星a级| 一区二区三区日韩精品视频| 欧美激情中文不卡| 欧美电影免费观看网站| 在线精品视频一区二区三四| 久久精品30| 久久久久国产精品一区二区| 国产一区二区三区久久精品| 久久久久.com| 欧美肥婆bbw| 亚洲欧美一区二区视频| 欧美一区二区三区视频| 精品成人一区| 亚洲欧洲综合另类| 欧美日韩在线观看一区二区| 午夜老司机精品| 久久久国产午夜精品| 亚洲激情视频在线| 亚洲一级高清| 亚洲全部视频| 欧美影片第一页| 亚洲一区二区免费在线| 午夜宅男欧美| 正在播放日韩| 欧美成人精品三级在线观看| 欧美在线免费| 国产精品久久二区| 亚洲精品国精品久久99热| 欧美日韩国产综合久久| 亚洲一区二区三区在线观看视频 | 亚洲人www| 国产精品羞羞答答xxdd| 欧美国产欧美综合| 欧美午夜影院| 亚洲国产三级在线| 国内精品久久久久久 | 国产农村妇女毛片精品久久莱园子 | 欧美日韩亚洲综合| 日韩一级黄色大片| 欧美在现视频| 欧美一区二区在线播放| 欧美区国产区| 亚洲精品一区二区三区蜜桃久 | 亚洲电影网站| 极品少妇一区二区三区| 在线一区二区视频| 亚洲日韩欧美一区二区在线| 久久精品30| 免费在线看一区| 亚洲国产精品久久| 浪潮色综合久久天堂| 久久亚洲影音av资源网| 国产啪精品视频| 欧美一区二区三区在线看| 久久久久网址| 亚洲国产日韩欧美在线99| 欧美精品一区在线| 亚洲午夜视频| 老司机久久99久久精品播放免费| 欧美日韩在线播放三区| 欧美日产在线观看| 亚洲区一区二| 亚洲视频一区| 国产美女精品人人做人人爽| 午夜精品福利一区二区三区av| 欧美在线观看视频在线| 91久久在线| 在线观看91精品国产入口| 欧美日韩国产欧美日美国产精品|