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

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


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

 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//殘留網絡中無從u出發的路
29    h[u] = mh + 1;
30    for(int i=0; i<n+2; i++)
31    {
32        if(e[u] == 0//已無余流,不需再次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 閱讀(2126) 評論(1)  編輯 收藏 引用 所屬分類: 解題報告
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲精品一区二区在线| 久久综合狠狠综合久久激情| 久久久久久久综合| 欧美在线观看视频| 国产精品久久精品日日| 亚洲国产你懂的| 一区二区视频欧美| 欧美一区二区精美| 欧美在线免费观看亚洲| 国产精品美女久久久浪潮软件| 亚洲欧洲一区二区天堂久久| 亚洲黄色成人网| 免费观看成人鲁鲁鲁鲁鲁视频| 美女91精品| 在线观看国产精品淫| 久久久999成人| 久久综合久久久| 在线观看91精品国产麻豆| 久久久久久有精品国产| 六月丁香综合| 亚洲激情二区| 欧美日韩成人一区| 99亚洲伊人久久精品影院红桃| 亚洲一区久久久| 国产精品青草综合久久久久99| 亚洲图片欧美午夜| 久久精品在线视频| 18成人免费观看视频| 欧美电影专区| 国产精品99久久不卡二区| 欧美有码在线观看视频| 在线观看91精品国产入口| 欧美~级网站不卡| 99热免费精品在线观看| 午夜日韩av| 极品中文字幕一区| 欧美激情精品久久久久久免费印度| 亚洲人成小说网站色在线| 亚洲调教视频在线观看| 国产欧美日韩一区二区三区在线观看 | 亚洲精品永久免费精品| 亚洲一区国产| 狠狠干成人综合网| 欧美大片18| 亚洲欧美视频| 亚洲高清一区二| 欧美一区二区在线播放| 在线日韩av片| 国产精品高潮久久| 久久免费一区| 一区二区三区**美女毛片 | 男男成人高潮片免费网站| 99视频热这里只有精品免费| 国产喷白浆一区二区三区 | 久久天天躁狠狠躁夜夜爽蜜月| 最新国产精品拍自在线播放| 欧美影院午夜播放| 亚洲精品欧洲精品| 国产午夜精品视频免费不卡69堂| 欧美r片在线| 性做久久久久久免费观看欧美| 亚洲国产精品第一区二区| 羞羞视频在线观看欧美| 91久久久久久久久| 国产一区二区精品在线观看| 欧美日韩在线播放一区二区| 久久久久国产精品午夜一区| 一区二区三欧美| 欧美日韩国产91| 噜噜噜在线观看免费视频日韩| 亚洲国产成人91精品| 国产精品日日摸夜夜摸av| 欧美韩日精品| 久久一区欧美| 久久精品99无色码中文字幕| a4yy欧美一区二区三区| 亚洲丁香婷深爱综合| 久久在线视频在线| 久久国产精品久久国产精品| 亚洲手机视频| 制服丝袜激情欧洲亚洲| 亚洲欧洲午夜| 亚洲精美视频| 精品不卡一区| 精品51国产黑色丝袜高跟鞋| 国产丝袜一区二区| 国产精品一卡二| 国产精品久久婷婷六月丁香| 欧美视频久久| 欧美午夜精品久久久| 欧美区一区二| 欧美片第一页| 欧美精品久久久久久久免费观看| 麻豆成人综合网| 久久亚洲综合色| 久久综合导航| 免费看亚洲片| 欧美不卡一卡二卡免费版| 欧美暴力喷水在线| 欧美+日本+国产+在线a∨观看| 久久综合九九| 欧美成人精品一区二区三区| 狂野欧美一区| 免费成人av| 欧美日韩国产探花| 欧美日韩在线视频一区二区| 国产精品h在线观看| 国产精品人人做人人爽| 国产精品入口麻豆原神| 国产日韩欧美中文| 国产嫩草一区二区三区在线观看| 国产农村妇女精品一区二区| 国精品一区二区三区| 黄色成人在线免费| 亚洲国产日韩欧美在线99| 亚洲经典在线| 亚洲天堂av在线免费观看| 亚洲一区在线观看视频| 久久国产精品久久久久久| 久久九九99| 亚洲第一在线综合在线| 亚洲伦理中文字幕| 亚洲欧美国产不卡| 久久久99免费视频| 欧美激情亚洲精品| 国产精品亚洲аv天堂网| 国产偷久久久精品专区| 亚洲国产日韩在线| 亚洲视频中文| 久久免费午夜影院| 亚洲精品国产系列| 午夜久久福利| 欧美va亚洲va日韩∨a综合色| 欧美日韩三级电影在线| 国产自产2019最新不卡| 亚洲精品日产精品乱码不卡| 欧美一区二区三区播放老司机| 另类欧美日韩国产在线| 亚洲美女在线视频| 久久国产高清| 欧美日本高清视频| 国产一区二区三区无遮挡| 9色国产精品| 久久久久在线| 亚洲最新在线| 久热国产精品视频| 国产精品手机在线| 亚洲精品视频免费| 久久久夜夜夜| 一区二区免费在线视频| 久久天堂成人| 国产日韩欧美黄色| 一本色道久久综合亚洲精品婷婷 | 一区二区三区高清在线| 久久―日本道色综合久久| 欧美视频一区在线| 亚洲高清影视| 久久久久久久性| 亚洲午夜在线观看视频在线| 欧美国产成人精品| 黄色成人91| 欧美在线首页| 一区二区精品国产| 欧美激情在线观看| 亚洲福利国产精品| 久久久综合网站| 亚洲欧美日韩第一区| 欧美体内谢she精2性欧美| 亚洲精品日产精品乱码不卡| 久久久久久午夜| 亚洲欧美日韩一区二区在线 | 久久久999精品视频| 亚洲在线播放| 国产精品免费视频观看| 中文欧美在线视频| 亚洲电影免费在线观看| 美女视频黄 久久| 亚洲国产综合在线| 欧美成人午夜影院| 老司机精品福利视频| 在线观看精品一区| 久久人人看视频| 久久九九国产精品| 激情综合中文娱乐网| 久久午夜电影| 久久亚洲色图| 91久久午夜| 亚洲精品久久久久久久久久久久久| 免费一区视频| 99re热这里只有精品视频| 最新日韩在线视频| 欧美日韩国产免费观看| 亚洲小少妇裸体bbw| 国产精品99久久久久久久vr | 亚洲少妇自拍| 在线视频亚洲| 国产日产高清欧美一区二区三区| 久久大综合网| 久久天堂成人| 一本色道久久综合狠狠躁篇的优点|