• <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>

            Why so serious? --[NKU]schindlerlee

            2010年02月07日星期日.sgu172 判斷一個(gè)圖是否是二分圖 黑白染色

            2010年02月07日星期日.sgu172 判斷一個(gè)圖是否是二分圖 黑白染色
            題意解釋:給出一個(gè)圖的邊,對(duì)這個(gè)圖進(jìn)行黑白染色,不能染色則輸出no
            能染色輸出黑色或者白色的個(gè)數(shù),并且輸出點(diǎn)的序號(hào)
             1 
             2 const int N = 256;
             3 int g[N][N],n,m,vis[N];
             4 const int black = 1;
             5 const int white = 2;
             6 int res ;
             7 
             8 bool dfs(int u,int color)
             9 {
            10   vis[u] = color;
            11   if (color == black) { res++; }
            12   if (color == black) { color = white; }
            13   else { color = black; }
            14 
            15   int i;
            16   for (i = 1;i <= n;i++) {
            17       if (g[u][i]) {
            18           if (vis[i] == 0) {
            19               if(!dfs(i,color)) return false;
            20           }else if (vis[i] != 0 && vis[i] != color) {
            21               return false;
            22           }
            23       }
            24   }
            25   return true;
            26 }
            27 
            28 bool dyeing()
            29      //染色
            30 {
            31   for (int i = 1;i <= n;i++) {
            32       if (vis[i] == 0) {
            33           if(!dfs(i,black)) {
            34               return false;
            35           }
            36       }
            37   }
            38   return true;
            39 }
            40 
            41 int main()
            42 {
            43   int i,j,k,a,b;
            44   scanf("%d %d",&n,&m);
            45   for (i = 0;i < m;i++) {
            46       scanf("%d%d",&a,&b);
            47       g[a][b] = g[b][a] = 1;
            48   }
            49   if (!dyeing()) {
            50       printf("no\n");
            51   }else {
            52       printf("yes\n");
            53       printf("%d\n",res);
            54       for (i = 1;i <= n;i++) {
            55           if (vis[i] == black) {
            56               printf("%d ",i);
            57           }
            58       }
            59       printf("\n");
            60   }
            61   return 0;
            62 }
            63 


            posted on 2010-02-07 20:00 schindlerlee 閱讀(1527) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 解題報(bào)告

            香蕉aa三级久久毛片| 精品综合久久久久久97超人| 伊人久久一区二区三区无码| 亚洲AV无码成人网站久久精品大| 久久久久亚洲AV无码永不| 久久久久无码专区亚洲av| 久久综合香蕉国产蜜臀AV| 久久久久亚洲av成人无码电影 | 精品久久人人做人人爽综合| 国产精品久久久久久五月尺| 99久久中文字幕| 国产精品久久新婚兰兰| 色综合久久综精品| 久久亚洲精品成人AV| 亚洲国产香蕉人人爽成AV片久久| 国产一区二区三区久久| 精品一二三区久久aaa片| 精品欧美一区二区三区久久久| 国产午夜免费高清久久影院| 精品久久久久久无码不卡| 欧美一级久久久久久久大| 精品久久久久久综合日本| 久久无码人妻一区二区三区午夜 | 中文字幕成人精品久久不卡| 伊人久久大香线蕉综合影院首页 | 久久九九免费高清视频 | 欧美国产成人久久精品| 久久99精品国产麻豆蜜芽| 久久99精品久久久久久水蜜桃| 亚洲国产天堂久久综合网站| 久久国产精品久久国产精品| 久久精品视频免费| 精品欧美一区二区三区久久久| 91超碰碰碰碰久久久久久综合| 成人国内精品久久久久影院VR| 久久综合丝袜日本网| 久久久久无码精品| 精品人妻伦九区久久AAA片69| 久久久久高潮毛片免费全部播放 | 久久精品一区二区| 国产精品va久久久久久久|