<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12
      書山有徑勤為路>>>>>>>>

      <<<<<<<<學海無涯苦作舟!

      EK算法解決POJ 1459

      POJ 1459 http://poj.org/problem?id=1459

      題意:

      給幾個發(fā)電站,給幾個消耗站,再給幾個轉發(fā)點。
      發(fā)電站只發(fā)電,消耗站只消耗電,轉發(fā)點只是轉發(fā)電,再給各個傳送線的傳電能力。
      問你消耗站能獲得的最多電是多少。

      //方法如下: 
      //虛擬出源點0和匯點n+1; 將所有的源點與0相連,將所有的匯點和n+1相連
      #include <iostream>
      #include <cstring>
      using namespace std;
      const int inf = 100000000;
      const int maxN = 105;
      int n, np, nc, m, l[maxN][maxN], s, t;
      int q[maxN], maxFlow, pre[maxN];
      void addFlow()
      {
      int minL = inf, cur = t; //t是目標點, cur是當前的點
      while(cur != s) //s是源點,只要沒有到達源點
      {
      if(l[pre[cur]][cur] < minL)
      minL = l[pre[cur]][cur];
      cur = pre[cur];
      }
      cur = t;
      while(cur != s)
      {
      l[pre[cur]][cur] -= minL;
      l[cur][pre[cur]] += minL;
      cur = pre[cur];
      }
      maxFlow += minL; //最大流相加
      }
      void fulk()//BFS
      {
      while(true)
      {
      memset(pre, -1, sizeof(pre)); //將每個pre初始化為-1
      int head = 0, tail = 0, cur;
      q[tail++] = s; //將源點0放入隊列中
      while(head != tail)
      {
      cur = q[head++]; //取出
      for(int j=0; j<=n+1; j++)
      {
      if(l[cur][j] != 0 && pre[j] == -1) //cur到j可達,并且pre沒有被用過
      {
      pre[j] = cur; //用pre將cur與j聯(lián)系起來
      q[tail++] = j; //將j放入隊列
      }
      }
      if(pre[t] != -1) break; //到了目標點
      }
      if(pre[t] != -1) addFlow(); //到了目標點,開始增廣
      else break; //要不然退出
      }
      }

      int main()
      {
      while(cin >> n)
      {
      cin >> np >> nc >> m;
      memset(l, 0, sizeof(l)); //每條邊都初始化為0
      s = 0, t = n + 1, maxFlow = 0;
      char tmp;
      int u, v, z;
      for(int i=1; i<=m; i++)
      {
      cin >> tmp >> u >> tmp >> v >> tmp >> z;
      l[u+1][v+1] = z;
      }
      for(int i=1; i<=np; i++)
      {
      cin >> tmp >> u >> tmp >> z;
      l[s][u+1] = z; //將源點和0相連
      }
      for(int i=1; i<=nc; i++)
      {
      cin >> tmp >> u >> tmp >> z;
      l[u+1][t] = z; //將匯點與n+1相連
      }
      fulk();
      cout << maxFlow << endl;
      }
      return 0;
      }



      posted on 2011-11-18 22:07  More study needed.  閱讀(405)  評論(0)    收藏  舉報

      導航

      書山有徑勤為路>>>>>>>>

      <<<<<<<<學海無涯苦作舟!

      主站蜘蛛池模板: 日韩大片在线永久免费观看网站| 国产午夜精品福利免费不| 国产绿帽在线视频看| 精品国产一区AV天美传媒| 溆浦县| 欧美人成精品网站播放| 最近中文字幕国产精品| 国产精品视频一区二区三区不卡 | AV极品无码专区亚洲AV| 日韩人妻无码精品久久| 内射合集对白在线| 午夜不卡欧美AAAAAA在线观看| 中文字幕理伦午夜福利片| 99网友自拍视频在线| 中文字幕国产日韩精品| 中超| 精品无码人妻一区二区三区| 狠狠亚洲色一日本高清色| 放荡的少妇2欧美版| 日韩精品一区二区都可以| 国产欧美日韩亚洲一区二区三区 | 亚洲中文字幕日产无码成人片| 久久亚洲精品天天综合网| 久久国产成人av蜜臀| 国产精品久久精品| 高清破外女出血AV毛片| 久久精品熟女亚洲av艳妇| 日韩AV高清在线看片| 插入中文字幕在线一区二区三区| 欧美乱强伦xxxx孕妇| 久久羞羞色院精品全部免费| 久久国产成人精品av| 国产一级老熟女自拍视频| 性欧美VIDEOFREE高清大喷水| 97精品伊人久久大香线蕉APP| 久久热这里只有精品99| 亚洲日韩av在线观看| 女同精品女同系列在线观看| 四虎成人在线观看免费| 国产最新进精品视频| 国产精品中文字幕第一页|