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


#include <iostream>
#include 
<queue>
#include 
<algorithm>
#include 
<climits>

using  namespace std;

#define N  210

int  point, edge;
int  graph[N][N];
int  pre[N];
int  result= 0;

void update( int mflow )
{
    
int b= point;
    
    result
+= mflow;
    
while( pre[b]!= 0 )
    
{
        graph[ pre[b] ][ b]
-= mflow;
        graph[b ][ pre[b] ]
+= mflow;
        
        b
= pre[b];
    }
    
}


void bfs()
{
    
whiletrue )
    
{
        
bool visite[N]= false };
        
int  minflow[N];
        queue
<int>  q;
        
        q.push( 
1 );
        visite[
1]= true;
        minflow[
1]= INT_MAX;
        memset( pre, 
0sizeof(pre) );
        
        
while!q.empty() )
        
{
            
int t= q.front();
            q.pop();
            
            
forint j= 1; j<= point; ++j )
                
if!visite[j] && graph[t][j]> 0 )
                
{
                    minflow[j]
= min( minflow[t], graph[t][j] );
                    pre[j]
= t;
                    
                    q.push( j );
                    visite[j]
= true;
                }

            
            
if( pre[point]> 0 ) break;
        }

        
        
if ( pre[point]> 0 )  update( minflow[point] );
        
else                  break;
    }

}


int main()
{
    
while( scanf("%d%d"&edge, &point )!= EOF )
    
{
        memset( graph, 
0sizeof(graph) );
        
        
forint i= 0; i< edge; ++i )
        
{
            
int a, b, d;
            scanf(
"%d%d%d"&a, &b, &d );
            
            graph[a][b]
+= d;    //   not just one ditch
        }

        
        result
= 0;
        bfs();
        printf(
"%d\n", result );
    }

    
    
return 0;
}




#include <stdio.h>
#include 
<stdlib.h>
#include 
<string.h>

#define Min(a,b) ( (a)< (b)?(a): (b) )

int  m, n;
int  map[210][210];
bool visite[210];
int  path[210], dist[210], minflow[210];

int max_flow()
{
    
forint i= 0; i<= n; ++i )
    {
        visite[i]
= false;    dist[i]= 0;
        path[i]
= 1;          minflow[i]= 0;
    }
    
    visite[
1]= true;   minflow[1]= 1<< 30;
    
forint i= 1; i<= n; ++i )
    dist[i]
= map[1][i], minflow[i]= map[1][i];
    
    
forint i= 1; i< n; ++i )
    {
        
int min= 1<< 30, t= -1;
        
        
forint j= 1; j<= n; j++ )
        
if!visite[j] && min> dist[j] && dist[j]> 0 ) min= dist[j],t= j;
        
        
if( t== -1 ) break;
        
        visite[t]
= true;
        
forint j= 1; j<= n; ++j )
            
if!visite[j] && map[t][j]> 0 && 
               ( dist[t]
> 0 && dist[t]+ map[t][j]< dist[j] || dist[j]== 0 ) )
            {
                dist[j]
= dist[t]+ map[t][j];
                path[j]
= t;
                
                minflow[j]
= Min( map[t][j], minflow[t] );
            }
    }
    
    
return minflow[n];
}

int update()
{
    
int f, total= 0;
    
    
while( ( f= max_flow() )!= 0 )
    {
        
int j= n;
        
        
while( path[j]!= j )
        {
            map[ path[j] ][j]
-= f;
            map[j][ path[j] ]
+= f;
            
            j
= path[j];
        }
        
        total
+= f;
    }
    
    
return total;
}

int main()
{
    
while( scanf("%d%d",&m,&n)!= EOF )
    {
        memset( map, 
0sizeof(map) );
        
        
forint i= 0; i< m; ++i )
        {
            
int a, b, c;
            scanf(
"%d%d%d",&a,&b,&c);
            
            map[a][b]
+= c;
        }
        
        printf(
"%d\n", update() );
    }
    
    
return 0;
}



#include <iostream>
#include 
<queue>
#include 
<algorithm>

using namespace std;

int  m, n;
int  map[210][210], h[210],wt[210], flow[210][210];

int max_flow()
{
    memset( wt, 
0sizeof(wt) );
    memset( h, 
0sizeof(h) );
    
    queue
<int> Q;
    Q.push(
1); wt[1]= 1<<30; wt[n]= -1<<30;
    h[
1]= n;
    
    
int total= 0;
    
while!Q.empty() )
    {
        
int u= Q.front(); Q.pop();
        
        
forint v= 1; v<= n; ++v )
        {
            
int f= min( wt[u], map[u][v] );
            
            
if( f> 0 &&  ( u== 1 || h[u]== h[v]+ 1 ) )
            {
                map[u][v]
-= f, map[v][u]+= f;
                wt[u]
-= f, wt[v]+= f;
                
                
if( v== n ) total+= f;
                
                
if( v!= 1 && v!= n ) Q.push(v);
            }
        }            
        
        
if( u!= 1 && u!= n && wt[u]> 0 )
        {
            h[u]
++;
            Q.push(u);
        }
    }
    
    printf(
"%d\n", total );
}
    
int main()
{
    
while( scanf("%d%d",&m,&n)!= EOF )
    {
        memset( map, 
0sizeof(map) );
        
        
forint i= 0; i< m; ++i )
        {    
            
int a, b, c;
            
            scanf(
"%d%d%d",&a,&b,&c);
            map[a][b]
+= c;
        }
        
        max_flow();
    }
    
    
return 0;
}
posted on 2008-11-04 14:15 Darren 閱讀(223) 評(píng)論(1)  編輯 收藏 引用

評(píng)論:
# re: Pku 1273 Drainage Ditches 2009-01-12 12:02 | 風(fēng)之傷
謝謝大牛,寫得很清晰,受教了~~  回復(fù)  更多評(píng)論
  

只有注冊用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   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>
            欧美成人综合| 国产女人精品视频| 99亚洲视频| 欧美国产激情二区三区| 乱码第一页成人| 久久字幕精品一区| 欧美成人69av| 亚洲国产欧美日韩| 亚洲福利在线视频| 亚洲精品视频免费在线观看| 日韩一二在线观看| 亚洲欧美一区二区视频| 久久精品国产清自在天天线| 久久久久www| 欧美国产第一页| 欧美日韩一区二区三区视频| 国产精品国产三级欧美二区| 国内精品伊人久久久久av影院| 亚洲国产欧美日韩精品| 在线亚洲欧美视频| 久久精品成人欧美大片古装| 免费黄网站欧美| 一区二区电影免费观看| 久久精品99| 亚洲一区二区三区三| 国产精品乱码一区二三区小蝌蚪| 国产免费成人av| 在线不卡免费欧美| 亚洲视频久久| 蜜臀久久久99精品久久久久久| 99精品热视频| 久久综合久久久久88| 国产精品v日韩精品v欧美精品网站| 国产亚洲人成网站在线观看| 亚洲免费成人| 免费不卡欧美自拍视频| 亚洲一区二区高清| 欧美激情一区二区久久久| 国产一区观看| 午夜国产欧美理论在线播放| 亚洲激情电影在线| 久久精品国产99| 国产精品日本精品| 亚洲视频欧美在线| 亚洲国产高潮在线观看| 久久久精品tv| 国产一区二区三区自拍| 宅男噜噜噜66一区二区 | 男女激情久久| 国产精品试看| 亚洲天堂黄色| 亚洲精品一区二区三区蜜桃久| 久久久999精品免费| 国产精品亚洲成人| 亚洲中字黄色| 一区二区三区日韩欧美| 欧美精品一区二区三区四区| 亚洲国产综合91精品麻豆| 麻豆精品视频在线| 久久九九热re6这里有精品| 国产亚洲综合精品| 久久电影一区| 欧美一区二区三区免费观看视频| 欧美偷拍一区二区| 一本大道av伊人久久综合| 亚洲国产欧美一区二区三区同亚洲| 久久久久天天天天| 1769国内精品视频在线播放| 免费观看亚洲视频大全| 乱人伦精品视频在线观看| 精品电影一区| 欧美激情1区2区| 欧美激情按摩在线| 中国亚洲黄色| 亚洲一区二区三区欧美| 国产欧美一区二区精品性色| 久久久.com| 乱码第一页成人| 最新国产成人在线观看| 亚洲欧洲精品一区二区三区| 欧美日韩无遮挡| 久久亚洲图片| 亚洲一区二区伦理| 欧美在线看片| 精品盗摄一区二区三区| 久久视频在线看| 久久久久欧美精品| 亚洲欧洲日产国产网站| 91久久久久久久久| 欧美视频亚洲视频| 久久精品国产第一区二区三区最新章节 | 亚洲精品小视频在线观看| 亚洲国产欧美不卡在线观看| 国产精品成人午夜| 久久一综合视频| 欧美理论电影在线观看| 欧美一区二区三区久久精品茉莉花| 欧美一级艳片视频免费观看| 亚洲成人在线免费| 一本色道久久88亚洲综合88| 国产综合自拍| 一本久道久久久| 悠悠资源网亚洲青| 亚洲一本视频| 日韩午夜三级在线| 午夜精品美女久久久久av福利| 亚洲黄一区二区三区| 亚洲一区二区三区在线视频| 亚洲成色精品| 性欧美精品高清| 亚洲午夜在线观看视频在线| 久久久噜噜噜久久中文字免| 亚洲一区二区黄| 欧美国产精品专区| 久久久天天操| 国产精品久久二区二区| 亚洲国产另类 国产精品国产免费| 国产精品视频网| 亚洲精品久久久久久久久久久久| 国外成人在线视频网站| 亚洲视频综合| 在线亚洲精品| 欧美日韩国产成人在线91| 免费黄网站欧美| 韩国av一区二区三区在线观看| 亚洲午夜精品一区二区| 一本在线高清不卡dvd| 麻豆精品传媒视频| 久久久久久97三级| 国产欧美精品日韩| 亚洲在线免费观看| 亚洲综合首页| 国产精品成人一区二区网站软件| 亚洲日本乱码在线观看| 亚洲国产小视频| 蜜臀av一级做a爰片久久| 狼狼综合久久久久综合网 | 亚洲激情专区| 久久女同互慰一区二区三区| 久久久精品国产99久久精品芒果| 国产精品一区二区女厕厕| aa国产精品| 亚洲一区二区三区四区视频| 国产精品ⅴa在线观看h| av成人毛片| 亚洲欧美日韩一区二区三区在线观看 | 另类天堂视频在线观看| 国产手机视频精品| 香蕉成人伊视频在线观看| 久久久亚洲国产天美传媒修理工| 国产一区二区观看| 欧美一区二区三区久久精品茉莉花 | 在线综合亚洲欧美在线视频| 亚洲午夜久久久久久尤物| 欧美午夜精品一区| 亚洲一区二区三区中文字幕在线 | 亚洲第一页中文字幕| 亚洲国产精品va| 欧美大片网址| 亚洲手机成人高清视频| 久久综合99re88久久爱| 亚洲片在线资源| 国产精品av一区二区| 欧美中文字幕在线视频| 亚洲国产精品第一区二区| 亚洲一品av免费观看| 国产亚洲精品久久久| 免费永久网站黄欧美| 一区二区三区不卡视频在线观看| 久久高清福利视频| 亚洲日本va午夜在线电影| 欧美三区在线视频| 性刺激综合网| 亚洲激情第一页| 久久精品国产96久久久香蕉| 亚洲精品国久久99热| 国产伦精品一区二区三区高清版| 久久影视三级福利片| 一二三区精品福利视频| 免费成人毛片| 亚洲一区二区不卡免费| 影音先锋成人资源站| 国产精品高清在线| 美女免费视频一区| 亚洲免费视频一区二区| 亚洲国产一区二区视频| 久久婷婷一区| 午夜精品一区二区三区电影天堂| 尤物九九久久国产精品的分类| 欧美日韩国产页| 久久久爽爽爽美女图片| 在线视频你懂得一区| 欧美激情视频一区二区三区在线播放 | 亚洲国产高清自拍| 国产精品乱看| 欧美日本久久| 美女成人午夜| 久久久久久**毛片大全| 亚洲女人天堂av| 在线综合亚洲欧美在线视频|