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

posts - 18,  comments - 5,  trackbacks - 0
一、題目描述

Description

A power network consists of nodes (power stations, consumers and dispatchers) connected by power transport lines. A node u may be supplied with an amount s(u) >= 0 of power, may produce an amount 0 <= p(u) <= pmax(u) of power, may consume an amount 0 <= c(u) <= min(s(u),cmax(u)) of power, and may deliver an amount d(u)=s(u)+p(u)-c(u) of power. The following restrictions apply: c(u)=0 for any power station, p(u)=0 for any consumer, and p(u)=c(u)=0 for any dispatcher. There is at most one power transport line (u,v) from a node u to a node v in the net; it transports an amount 0 <= l(u,v) <= lmax(u,v) of power delivered by u to v. Let Con=Σuc(u) be the power consumed in the net. The problem is to compute the maximum value of Con.

An example is in figure 1. The label x/y of power station u shows that p(u)=x and pmax(u)=y. The label x/y of consumer u shows that c(u)=x and cmax(u)=y. The label x/y of power transport line (u,v) shows that l(u,v)=x and lmax(u,v)=y. The power consumed is Con=6. Notice that there are other possible states of the network but the value of Con cannot exceed 6.

Input

There are several data sets in the input. Each data set encodes a power network. It starts with four integers: 0 <= n <= 100 (nodes), 0 <= np <= n (power stations), 0 <= nc <= n (consumers), and 0 <= m <= n^2 (power transport lines). Follow m data triplets (u,v)z, where u and v are node identifiers (starting from 0) and 0 <= z <= 1000 is the value of lmax(u,v). Follow np doublets (u)z, where u is the identifier of a power station and 0 <= z <= 10000 is the value of pmax(u). The data set ends with nc doublets (u)z, where u is the identifier of a consumer and 0 <= z <= 10000 is the value of cmax(u). All input numbers are integers. Except the (u,v)z triplets and the (u)z doublets, which do not contain white spaces, white spaces can occur freely in input. Input data terminate with an end of file and are correct.

Output

For each data set from the input, the program prints on the standard output the maximum amount of power that can be consumed in the corresponding network. Each result has an integral value and is printed from the beginning of a separate line.

Sample Input

2 1 1 2 (0,1)20 (1,0)10 (0)15 (1)20
7 2 3 13 (0,0)1 (0,1)2 (0,2)5 (1,0)1 (1,2)8 (2,3)1 (2,4)7
(3,5)2 (3,6)5 (4,2)7 (4,3)5 (4,5)1 (6,0)5
(0)5 (1)2 (3)2 (4)1 (5)4

Sample Output

15
6


二、分析
      增加點(diǎn)n為s,點(diǎn)n+1為t,求最大流,使用Push-Relabel算法,具體算法:最大流問(wèn)題
三、代碼

 1#include<iostream>
 2using namespace std;
 3#define MAXN 202
 4int s, t;
 5int n, np, nc, m;
 6char str[50];
 7int c[MAXN][MAXN];
 8int f[MAXN][MAXN];
 9int e[MAXN];
10int h[MAXN];
11void push(int u, int v)
12{
13    int d = min(e[u], c[u][v] - f[u][v]);
14    f[u][v] += d;
15    f[v][u] = -f[u][v];
16    e[u] -= d;
17    e[v] += d;
18}

19bool relabel(int u)
20{
21    int mh = INT_MAX;
22    for(int i=0; i<n+2; i++)
23    {
24        if(c[u][i] > f[u][i])
25            mh = min(mh, h[i]);
26    }

27    if(mh == INT_MAX)
28        return false//殘留網(wǎng)絡(luò)中無(wú)從u出發(fā)的路
29    h[u] = mh + 1;
30    for(int i=0; i<n+2; i++)
31    {
32        if(e[u] == 0//已無(wú)余流,不需再次push
33            break;
34        if(h[i] == mh && c[u][i] > f[u][i]) //push的條件
35            push(u, i);
36    }

37    return true;
38}

39void init_preflow()
40{
41    memset(h, 0sizeof(h));
42    memset(e, 0sizeof(e));
43    h[s] = n+2;
44    for(int i=0; i<n+2; i++)
45    {
46        if(c[s][i] == 0)
47            continue;
48        f[s][i] = c[s][i];
49        f[i][s] = -f[s][i];
50        e[i] = c[s][i];
51        e[s] -= c[s][i];
52    }

53}

54void push_relabel()
55{
56    init_preflow();
57    bool flag = true//表示是否還有relabel操作
58    while(flag)
59    {
60        flag = false;
61        for(int i=0; i<n; i++)
62            if(e[i] > 0)
63                flag = flag || relabel(i);
64    }

65}

66int main()
67{
68    while(scanf("%d%d%d%d"&n, &np, &nc, &m) != EOF)
69    {
70        s = n; t = n+1;
71        memset(c, 0sizeof(c));
72        memset(f, 0sizeof(f));
73        while(m--)
74        {
75            scanf("%s"&str);
76            int u=0, v=0, z=0;
77            sscanf(str, "(%d,%d)%d"&u, &v, &z);
78            c[u][v] = z;
79        }

80        for(int i=0; i<np+nc; i++)
81        {
82            scanf("%s"&str);
83            int u=0, z=0;
84            sscanf(str, "(%d)%d"&u, &z);
85            if(i < np)
86                c[s][u] = z;
87            else if(i >= np && i < np + nc)
88                c[u][t] = z;
89        }

90        push_relabel();
91        printf("%d\n", e[t]);
92    }

93}
posted on 2009-06-24 19:38 Icyflame 閱讀(2133) 評(píng)論(1)  編輯 收藏 引用 所屬分類: 解題報(bào)告
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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久久| 国产亚洲精品一区二区| 国产精品成人va在线观看| 欧美日韩在线播放| 国产精品国产三级国产专区53 | 国产日韩欧美黄色| 国产日韩精品一区二区| 国产视频亚洲精品| 黄色精品在线看| 亚洲国产欧美不卡在线观看| 亚洲精品久久久久| 亚洲午夜在线观看| 久久国产成人| 欧美gay视频激情| 91久久国产综合久久91精品网站| 91久久亚洲| 亚洲一区二区三区四区五区黄| 午夜欧美不卡精品aaaaa| 久久久久久久久蜜桃| 欧美v日韩v国产v| 欧美日韩高清不卡| 欧美三区美女| 国产精品有限公司| 狠狠色丁香婷婷综合久久片| 亚洲人成小说网站色在线| 宅男精品视频| 久久精品一区四区| 亚洲激情在线| 欧美高清视频在线播放| 欧美成人在线网站| 亚洲免费激情| 欧美一区二区三区在线观看视频| 另类激情亚洲| 国产精品久久久久av免费| 国产综合欧美| 99天天综合性| 久久美女性网| 亚洲精选一区二区| 欧美一激情一区二区三区| 美女尤物久久精品| 国产精品女人久久久久久| 揄拍成人国产精品视频| 亚洲新中文字幕| 老鸭窝亚洲一区二区三区| 亚洲日本中文字幕| 欧美在线亚洲一区| 欧美日韩精品免费看| 国产一区久久久| 国产精品99久久久久久久女警 | 女同一区二区| 一区二区三区四区五区视频| 久久色在线观看| 国产精品久久久久免费a∨| 亚洲电影免费观看高清完整版在线 | 可以免费看不卡的av网站| 亚洲狼人综合| 久久精品亚洲一区二区三区浴池 | 国产日韩欧美综合一区| 日韩一级精品| 久久综合电影| 亚洲永久免费| 欧美日韩国产色视频| 在线播放不卡| 久久爱www.| 一本一本久久a久久精品综合妖精| 久久人人97超碰精品888| 国产精品免费网站| 一区二区三区福利| 欧美大片在线观看| 久久精品二区三区| 国产欧美日韩精品一区| 亚洲视频电影图片偷拍一区| 亚洲电影免费在线| 久久久久国产精品一区三寸| 国产精品稀缺呦系列在线| 中文国产成人精品| 91久久综合| 久久噜噜噜精品国产亚洲综合| 国产精品久久久久影院色老大| 99精品欧美一区二区三区 | 国产精品爽爽爽| 一区二区三区欧美视频| 欧美激情视频给我| 久久天天综合| 精品成人a区在线观看| 久久成人精品电影| 亚洲免费影视第一页| 国产精品国产a| 亚洲一二三区在线观看| 亚洲伦理精品| 欧美激情日韩| 亚洲三级免费观看| 亚洲第一精品夜夜躁人人躁| 久久亚洲精品一区二区| 狠狠综合久久| 久色成人在线| 欧美一区二区视频在线| 国产欧美亚洲视频| 午夜日韩视频| 欧美系列精品| 亚洲精品日韩在线| 亚洲国产成人av| 欧美激情第1页| 亚洲精品孕妇| 91久久精品美女高潮| 免费观看在线综合| 在线亚洲激情| 久久精品av麻豆的观看方式| 亚洲自拍电影| 欧美高清不卡| 久久久国产精彩视频美女艺术照福利 | 欧美日韩视频| 亚洲综合精品四区| 亚洲一级在线观看| 国产日韩精品一区二区| 久久蜜臀精品av| 狂野欧美激情性xxxx| 亚洲欧美不卡| 午夜国产一区| 黄色精品免费| 亚洲国产三级| 欧美午夜一区二区福利视频| 午夜在线观看免费一区| 亚洲高清久久久| 欧美极品一区二区三区| 中文网丁香综合网| 亚洲女同同性videoxma| 影音先锋中文字幕一区| 亚洲电影免费在线| 久久久久在线| 欧美在现视频| 亚洲国产精品精华液2区45| 亚洲人成绝费网站色www| 欧美视频导航| 久久久午夜精品| 欧美激情精品| 午夜久久影院| 久久久久国产精品麻豆ai换脸| 亚洲精品乱码| 亚洲校园激情| 在线精品国产成人综合| 亚洲精品免费观看| 久久久亚洲综合| 99riav1国产精品视频| 亚洲综合电影| 亚洲成色精品| 亚洲视频欧美在线| 亚洲二区视频| 日韩一级裸体免费视频| 国产在线拍揄自揄视频不卡99| 欧美黄色日本| 国产精品草草| 欧美成人国产一区二区| 欧美日韩一区二区在线观看| 久久精品国产清自在天天线| 欧美国产日韩a欧美在线观看| 一本色道久久综合亚洲精品高清 | 国产精品久久久久秋霞鲁丝| 老司机午夜精品视频在线观看| 欧美另类在线观看| 久久国产婷婷国产香蕉| 欧美激情aaaa| 久久久久久久综合狠狠综合| 欧美激情一区二区三区全黄| 欧美在线观看视频一区二区三区 | av不卡在线| 欧美在线播放| 亚洲视频观看| 美女视频一区免费观看| 欧美一区二区视频在线| 欧美丰满高潮xxxx喷水动漫| 久久国产精品久久久久久| 欧美理论电影网| 久久午夜激情| 国产精品久久久久久久久婷婷| 欧美国产视频日韩| 国产一区 二区 三区一级| 9l视频自拍蝌蚪9l视频成人| 亚洲电影观看| 久久都是精品| 午夜精品成人在线视频| 欧美国产欧美亚洲国产日韩mv天天看完整 | 欧美激情一区二区三区蜜桃视频| 久久精品亚洲| 欧美日韩国产成人在线观看| 老司机一区二区| 国产欧美精品在线观看| 亚洲毛片av在线| 91久久综合| 久久久久五月天| 欧美影院在线| 国产精品一区一区| 久久亚洲一区二区三区四区| 国产精品久久福利| 日韩亚洲欧美成人| 亚洲剧情一区二区| 美女被久久久| 美女图片一区二区| 国内视频一区|