国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

poj 1459 Power Network(最大流,Edmond Karp)

2019-11-11 07:28:56
字體:
供稿:網(wǎng)友

題目大意:總公有nodes個(gè)節(jié)點(diǎn),有np個(gè)發(fā)電站,nc個(gè)用戶,m條傳輸線路,每個(gè)發(fā)電站有個(gè)最大的發(fā)電量,每個(gè)用戶有個(gè)最大的接受量,問從發(fā)電站到用戶最多可以發(fā)電多少。 思路:多源點(diǎn)多匯點(diǎn)最大流,添加一個(gè)超級(jí)源點(diǎn),一個(gè)超級(jí)匯點(diǎn)

#include <cstdio>#include <cstring>#include <queue>using std::queue;#define min(a,b) (a<b?a:b)#define INF 99999999;const int MAXN = 105;int r[MAXN][MAXN];int PRe[MAXN];bool vis[MAXN];int nodes,np,nc,m;bool BFS(int s, int t){ memset(vis,false,sizeof(vis)); memset(pre,-1,sizeof(pre)); queue<int> que; pre[s] = s; vis[s] = true; que.push(s); int p; while(!que.empty()) { p = que.front(); que.pop(); for(int i = 1; i <= nodes; ++i) { if(r[p][i] > 0 && !vis[i]) { pre[i] = p; vis[i] = true; if(i == t) return true; que.push(i); } } } return false;}int EK(int s, int t){ int maxflow = 0; int d = INF; while(BFS(s,t)) { d = INF; for(int i = t; i != s; i = pre[i]) d = min(d,r[pre[i]][i]); for(int i = t; i != s; i = pre[i]) { r[pre[i]][i] -= d; r[i][pre[i]] += d; } maxflow += d; } return maxflow;}int main(){ char ch; int u,v,w,s,t; while(scanf("%d %d %d %d",&nodes,&np,&nc,&m) != EOF) { memset(r,0,sizeof(r)); for(int i = 0; i < m; ++i) { scanf(" %c %d %c %d %c %d",&ch,&u,&ch,&v,&ch,&w); r[u+1][v+1] += w; } s = nodes + 1;// 超級(jí)源點(diǎn) t = nodes + 2;//超級(jí)匯點(diǎn) nodes += 2; for(int i = 0; i < np; ++i) { scanf(" %c %d %c %d",&ch,&v,&ch,&w); r[s][v+1] = w; } for(int i = 0; i < nc; ++i) { scanf(" %c %d %c %d",&ch,&u,&ch,&w); r[u+1][t] = w; } printf("%d/n",EK(s,t)); } return 0;}
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 施甸县| 宁武县| 西乌| 石河子市| 枞阳县| 曲沃县| 德令哈市| 三明市| 呼伦贝尔市| 桐梓县| 张北县| 永嘉县| 从化市| 遂溪县| 林州市| 通榆县| 永胜县| 高邮市| 五寨县| 双牌县| 利津县| 福州市| 江北区| 大丰市| 砚山县| 安岳县| 五家渠市| 桓台县| 大竹县| 利辛县| 富顺县| 德令哈市| 阿图什市| 襄汾县| 射洪县| 广宁县| 永宁县| 宁晋县| 青田县| 楚雄市| 沁水县|