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

獨立博客: 哲學與程序

哲學與程序

最小割 ZOJ@2788

    最大流最小割定理介紹:把一個流網(wǎng)絡的頂點集劃分成兩個集合S和T,使得源點s ∈S且匯點t ∈T,割(S,T)的容量C(S,T) = ∑ Cuv, 其中u∈S且v∈T。
從直觀上看,截集(S,T)是從源點s到匯點t的必經(jīng)之路,如果該路堵塞則流從s無法到達t。于是我們可以得到最大流最小割定理:任意一個流網(wǎng)絡的最大流量等于該網(wǎng)絡的最小的割的容量。
    最小割問題:ZOJ@2788
    題意:在一棟樓中有若干房間,一個房間有若干扇門通往別的房間,現(xiàn)在房間中有一個secure room。由于有一些敵人已經(jīng)潛入某一些房間,現(xiàn)在問關閉最少的一些門,使得敵人們到達不了secure room。對于一扇門連通A-B,若控制面板CP在A方,則總是可以從A->B,但是若關上門,則B不能到達A。
    解法:最大流。首先通過floyd算法判斷是否敵人總是可以到達secure room,如果能直接輸出結果;如果不能,則通過最大流算法求解即可。對于一扇門A-B,CP在A方則從A連一條有向邊到B,容量為無窮大,從B連一條邊到A,容量為1。兩個房間之間可能有多扇門,邊的容量累加即可。增加一個源點,從源點連邊到有敵人的房間,容量為1。對圖求最大流即為結果。
代碼如下:
// 2389732      2011-01-20 15:06:16        Accepted      2788      C++      0      184      *******
#include<cstdio>
#include
<algorithm>
#include
<cstring>
#define MAXN 22
#define inf 1000000
int map[MAXN][MAXN];
int flow[MAXN][MAXN];
int max_flow(int n,int mat[][MAXN],int source,int sink,int flow[][MAXN]){ 
    
int pre[MAXN],que[MAXN],p,q,t,i,j;
    
int d[MAXN];
    
int tmp;
    
if (source==sink) return inf; 
    
for (i=0;i<n;i++
        
for    (j=0;j<n;flow[i][j++]=0); 
    
for (;;){ 
        
for (i=0;i<n;pre[i++]=0); 
        pre[t
=source]=source+1,d[t]=inf; 
        
for (p=q=0;p<=q&&!pre[sink];t=que[p++]) 
               
for (i=0;i<n;i++
                
if (!pre[i]&&(tmp=mat[t][i]-flow[t][i])) 
                     pre[que[q
++]=i]=t+1,d[i]=d[t]<tmp?d[t]:tmp; 
                
else if (!pre[i]&&(tmp=flow[i][t])) 
                 pre[que[q
++]=i]=-t-1,d[i]=d[t]<tmp?d[t]:tmp; 
        
if (!pre[sink]) break
        
for (i=sink;i!=source;) 
               
if (pre[i]>0
                flow[pre[i]
-1][i]+=d[sink],i=pre[i]-1
               
else 
                flow[i][
-pre[i]-1]-=d[sink],i=-pre[i]-1
    } 
    tmp 
= 0;
    
for (i=0;i<n;tmp+=flow[source][i++]); 
    
return tmp; 
}
int main()
{
    
int T, n, m, k, y;
    
char str[3];
    
int d[MAXN];
    scanf(
"%d",&T);
    
while(T--)
    {
        scanf(
"%d%d",&m,&n);
        n
++;
        memset(map,
0,sizeof(map));
        memset(flow,
0,sizeof(flow));
        
for(int i = 1; i <= m; i++){
            scanf(
"%s %d",str, &k);
            d[i] 
= (strlen(str) == 1);
            
if(d[i])map[0][i] = inf;
            
for(int j = 0; j < k; j++){
                scanf(
"%d",&y);
                y
++;
                flow[i][y] 
= 1;
                map[i][y] 
+= inf;
                map[y][i] 
+= 1;
            }
        }
        
// Checking always exists a path to secure room. Output "PANIC ROOM BREACH"!
        for(k = 1; k <= m; k++)  
            
for(int i = 1; i <= m; i++)
                
for(int j = 1; j <= m; j++)
                    
if(flow[i][k]&&flow[k][j])
                        flow[i][j] 
= 1;
        
for(k = 1; k <= m && !(d[k] && flow[k][n]); k++);
        
if(k <= m)
            printf(
"PANIC ROOM BREACH\n");
        
else
            printf(
"%d\n", max_flow(m+1,map,0,n,flow));
    }
    
return 0;
}


posted on 2011-01-20 15:52 哲學與程序 閱讀(368) 評論(0)  編輯 收藏 引用 所屬分類: AlgorithmC & C++

導航

公告

歡迎訪問 http://zhexue.sinaapp.com

常用鏈接

隨筆分類(37)

隨筆檔案(41)

Algorithm

最新隨筆

搜索

最新評論

獨立博客: 哲學與程序
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲伦理自拍| 久久国产天堂福利天堂| 亚洲大片在线| 欧美激情综合色综合啪啪| 亚洲国产精品一区制服丝袜| 葵司免费一区二区三区四区五区| 亚洲精品一二| 最近中文字幕mv在线一区二区三区四区| 欧美国产成人在线| 欧美~级网站不卡| 一区二区三区黄色| 亚洲午夜免费视频| 韩国成人福利片在线播放| 久久综合国产精品| 欧美高清视频一区| 欧美亚洲一区| 美女免费视频一区| 亚洲影院色无极综合| 久久精品123| 99爱精品视频| 久久国产精品高清| 夜夜狂射影院欧美极品| 亚洲一区影院| 亚洲国产一二三| 亚洲深夜激情| 亚洲韩国一区二区三区| 在线视频日韩精品| 亚洲国产精品成人精品| 亚洲一区二区高清| 亚洲精品久久在线| 欧美一区二区三区视频| 日韩亚洲精品电影| 久久久午夜视频| 亚洲欧美国产视频| 欧美成人午夜| 久热这里只精品99re8久| 欧美丝袜一区二区| 模特精品裸拍一区| 国产婷婷色一区二区三区四区| 亚洲一区中文| 欧美激情按摩在线| 久久久亚洲精品一区二区三区 | 免费亚洲视频| 国产精品美女久久久久久免费| 一区二区高清在线| 欧美在线视频日韩| 午夜精品久久久久久久久久久| 99国内精品久久久久久久软件| 毛片一区二区三区| 久久久另类综合| 国产精品麻豆欧美日韩ww| 亚洲黄色精品| 亚洲人在线视频| 久久综合伊人77777尤物| 久久国产一区二区| 国产精品一区在线观看你懂的| 亚洲视频每日更新| 欧美激情视频一区二区三区在线播放 | 一区二区黄色| 亚洲国产婷婷综合在线精品 | 亚洲成人资源网| 亚洲尤物在线视频观看| 亚洲一区二区三区乱码aⅴ| 欧美激情第五页| 欧美激情第三页| 亚洲激情二区| 美女日韩欧美| 欧美成人午夜激情在线| 国外视频精品毛片| 久久国产精品一区二区三区四区| 在线观看日韩精品| 久久久久久久激情视频| 久久久久久欧美| 国产亚洲二区| 久久久91精品国产一区二区三区| 国产午夜亚洲精品不卡| 亚洲激情偷拍| 一区二区三区四区国产精品| 欧美国产1区2区| 亚洲精品一区二区三区四区高清| 国产精品久久久久久久久久久久久久 | 亚洲天堂av在线免费| 欧美久久视频| 一本色道久久综合亚洲精品高清 | 国产婷婷色一区二区三区| 亚洲欧美视频| 美国十次了思思久久精品导航| 久久精品人人做人人综合| 久久嫩草精品久久久精品一| 在线不卡中文字幕| 欧美成人一区二区三区| 亚洲私人黄色宅男| 久久久久久久综合| 亚洲精品在线一区二区| 国产精品试看| 你懂的成人av| 亚洲女人小视频在线观看| 久久夜色精品国产| 日韩视频一区二区三区在线播放| 久久动漫亚洲| 亚洲精品视频一区| 久久国产视频网| 一本久道久久综合狠狠爱| 国产精品一区免费观看| 免费久久99精品国产| 夜夜夜久久久| 久久夜色精品国产亚洲aⅴ| 日韩午夜电影av| 国产亚洲一级| 国产精品国产三级国产专区53| 亚洲人成7777| 久久蜜桃资源一区二区老牛 | 国产精品视频一二| 久久亚洲国产精品一区二区| 亚洲另类视频| 欧美高清不卡在线| 久久国产精品电影| 亚洲一区二区三区在线观看视频| 欧美日韩国内| 久久综合一区二区| 欧美在线观看视频| 一本一道久久综合狠狠老精东影业| 1769国产精品| 国模精品娜娜一二三区| 欧美另类视频在线| 久久亚洲精品视频| 久久精品电影| 午夜一级久久| 亚洲小说春色综合另类电影| 99re这里只有精品6| 亚洲激情电影在线| 欧美国产精品va在线观看| 久久一本综合频道| 久久久久久久久久久成人| 欧美一区精品| 欧美一区二区久久久| 欧美亚洲网站| 欧美在线观看网站| 久久xxxx| 久久五月婷婷丁香社区| 久久久美女艺术照精彩视频福利播放| 国产一区999| 国产综合欧美| 国内外成人免费激情在线视频| 久久婷婷av| 久久先锋资源| 狂野欧美激情性xxxx欧美| 久久婷婷国产综合国色天香| 久久午夜色播影院免费高清| 久久这里有精品视频 | 一区二区欧美在线观看| 亚洲精品一区二区三区av| 亚洲人成毛片在线播放女女| 最新精品在线| 亚洲日本va午夜在线电影| 亚洲三级性片| 亚洲无限av看| 欧美一区二区成人| 久久九九全国免费精品观看| 美女视频一区免费观看| 亚洲国产日韩一区| 亚洲靠逼com| 亚洲欧美中文日韩v在线观看| 亚洲福利视频网| 亚洲理伦电影| 先锋亚洲精品| 欧美成人情趣视频| 国产精品a久久久久| 国产亚洲欧美日韩精品| 亚洲欧洲免费视频| 亚洲一区二区精品在线| 久久久久9999亚洲精品| 亚洲高清自拍| 午夜精品久久久久久99热| 久久综合一区| 国产精品久久久久久久浪潮网站| 裸体一区二区三区| 欧美精品一区二区三区蜜臀| 欧美日韩精品伦理作品在线免费观看| 欧美一区网站| 欧美激情欧美激情在线五月| 国产精品久久久免费 | 亚洲淫性视频| 久久伊人一区二区| 国产精品成人免费视频| 在线精品视频在线观看高清 | 久久精品国产99国产精品| 欧美美女bbbb| 在线播放中文一区| 亚洲资源在线观看| 欧美激情1区2区3区| 亚洲欧美中文在线视频| 欧美啪啪一区| 一区二区三区中文在线观看| 亚洲一级特黄| 亚洲精品在线一区二区| 久久久蜜桃一区二区人| 国产精品一区二区三区久久久| 欧美色图天堂网| 亚洲精品美女在线观看|