• <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>
            posts - 14,  comments - 11,  trackbacks - 0

            又一個(gè)二分圖!其實(shí)對(duì)于這個(gè)題,關(guān)鍵是看你怎樣建立二分圖!
            我比較偷懶,就用了一個(gè)黑白染色。題目意思很簡(jiǎn)單,就是要用多少個(gè)圓圈完*,當(dāng)然每個(gè)圓只能圈兩個(gè)*;
            具體看代碼吧,懶得寫了,一個(gè)早上,還沒吃飯呢?

             1 #include <iostream>
             2 using namespace std;
             3 bool map[500][500];
             4 bool vi[500];
             5 int link[500];
             6 int n,h;
             7 int x[4]={0,0,1,-1};
             8 int y[4]={1,-1,0,0};
             9 bool dfs(int v)
            10 {
            11      for (int i=1;i<=n;i++)
            12      {
            13          if (map[v][i]&&!vi[i])
            14          {
            15             vi[i]=true;
            16             if (link[i]==0||dfs(link[i]))
            17             {
            18                link[i]=v;
            19                return true;
            20             }
            21          }
            22      }
            23      return false;
            24 }
            25 int com()
            26 {
            27     int sum=0;
            28     for (int i=1;i<=h;i++)
            29     {
            30         memset(vi,0,sizeof(vi));
            31         if (dfs(i))sum++
            32     }
            33     return sum;
            34 }
            35 int main()
            36 {
            37     char a[50][16];
            38     int b[50][16],c[50][16];
            39     int m,k,i,j;
            40     int t;
            41     cin>>t;
            42     while (t--)
            43     { 
            44           cin>>m>>k;
            45           n=0,h=0;
            46           memset(map,0,sizeof(map));
            47           memset(link,0,sizeof(link));
            48           memset(b,0,sizeof(b));
            49           for (i=1;i<=m;i++)
            50           for (j=1;j<=k;j++)
            51           {
            52               cin>>a[i][j];
            53           }
            54           h=0,n=0;
            55           for (i=1;i<=m;i++)
            56           for (j=1;j<=k;j++)
            57           if (a[i][j]=='*')
            58           {
            59               if ((i+j)%2==0)b[i][j]=++h;
            60               else b[i][j]=++n;
            61           }
            62           int dx,dy;
            63           for (i=1;i<=m;i++)
            64           for (j=1;j<=k;j++)
            65           if  (a[i][j]=='*'&&(i+j)%2==0)
            66           {
            67               for (int l=0;l<4;l++)             
            68               {
            69                   dx=x[l]+i;
            70                   dy=y[l]+j;
            71                   if (a[dx][dy]=='*')
            72                   map[b[i][j]][b[dx][dy]]=1;           
            73               }                                    
            74           }
            75           cout<<h+n-com()<<endl;
            76     }
            77 return 0;
            78 }
            79 
            posted on 2011-04-05 10:46 路修遠(yuǎn) 閱讀(1349) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 路修遠(yuǎn)
            <2010年6月>
            303112345
            6789101112
            13141516171819
            20212223242526
            27282930123
            45678910

            轉(zhuǎn)載,請(qǐng)標(biāo)明出處!謝謝~~

            常用鏈接

            留言簿(1)

            隨筆分類

            隨筆檔案

            文章檔案

            搜索

            •  

            最新評(píng)論

            • 1.?re: HDU 2433 最短路
            • @test
              的確這組數(shù)據(jù)應(yīng)該輸出20的
            • --YueYueZha
            • 2.?re: HDU 2433 最短路
            • 這方法應(yīng)該不對(duì)。 看下面這組數(shù)據(jù)
              4 4
              1 2
              2 3
              3 4
              2 4

              畫個(gè)圖,刪去最后一條邊 2 4 后的結(jié)果應(yīng)該是20,但是此方法的輸出是19
            • --test
            • 3.?re: HDU 2433 最短路
            • ans = ans + sum_u + sum_v - sum[u] - sum[v],
              這個(gè)公式不是很理解啊,不知道博主怎么想的啊,謝謝咯
            • --姜
            • 4.?re: HDU 2433 最短路
            • @attacker
              the i-th line is the new SUM after the i-th road is destroyed
            • --路修遠(yuǎn)
            • 5.?re: HDU 2433 最短路
            • 你這樣可以AC????刪除<U,V>不僅改變 u,v最短路啊、、、求解
            • --attacker

            閱讀排行榜

            評(píng)論排行榜

            国产69精品久久久久9999| 理论片午午伦夜理片久久| 少妇久久久久久被弄高潮| 国产99精品久久| 亚洲国产成人精品久久久国产成人一区二区三区综 | 亚洲愉拍99热成人精品热久久| 久久国产精品无码HDAV| 久久久久亚洲精品无码网址| 久久久久久久久无码精品亚洲日韩| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 一本色道久久88—综合亚洲精品| 国产精品一区二区久久精品| 久久青青草原精品国产软件| 国产精品国色综合久久| 国产成人精品综合久久久久| 日日狠狠久久偷偷色综合0| 久久久91精品国产一区二区三区| 久久无码专区国产精品发布| 精品久久国产一区二区三区香蕉 | 亚洲熟妇无码另类久久久| 国产亚洲精午夜久久久久久| 欧美伊香蕉久久综合类网站| 欧美一区二区三区久久综| 久久综合亚洲色HEZYO社区| 久久久久亚洲精品中文字幕| 国产成人精品久久一区二区三区av| 日本久久久久亚洲中字幕| 久久精品国产乱子伦| 久久无码专区国产精品发布| 伊人久久一区二区三区无码| 伊人精品久久久久7777| 国内精品伊人久久久久妇| 久久这里都是精品| 久久久久久精品成人免费图片| 18禁黄久久久AAA片| 久久精品中文无码资源站| AV无码久久久久不卡蜜桃| 亚洲日韩中文无码久久| 久久天堂AV综合合色蜜桃网| 久久久久无码精品国产| 2021精品国产综合久久|