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

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 閱讀(2128) 評論(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>
            欧美中日韩免费视频| 欧美专区18| 国产精品视频精品视频| 欧美国产免费| 欧美日本免费| 欧美日韩在线观看视频| 欧美三级视频在线播放| 国产精品嫩草久久久久| 国产精品久久久一区麻豆最新章节 | 欧美高清自拍一区| 蜜臀a∨国产成人精品| 欧美成人四级电影| 亚洲麻豆一区| 亚洲欧美日韩中文在线制服| 性色av一区二区三区红粉影视| 亚洲第一福利社区| 欧美在线视频一区二区| 久久久久国产精品一区| 免费亚洲视频| 国产精品视频久久一区| 激情五月综合色婷婷一区二区| 亚洲国产婷婷香蕉久久久久久99 | 久久国产精品一区二区三区四区| 久久精品国产精品亚洲综合| 欧美激情国产日韩精品一区18| 国产精品久久91| 亚洲福利视频免费观看| 亚洲女性喷水在线观看一区| 久久只精品国产| 奶水喷射视频一区| 欧美黑人在线播放| 国产三级精品在线不卡| 亚洲激情欧美激情| 亚洲欧美视频一区二区三区| 老司机67194精品线观看| 一本久久a久久精品亚洲| 久久精品国产精品亚洲| 欧美性猛交xxxx乱大交退制版| 国内精品视频666| 亚洲新中文字幕| 麻豆免费精品视频| 亚洲一区尤物| 欧美福利小视频| 一区二区三区在线免费播放| 欧美亚洲视频在线看网址| 亚洲人成亚洲人成在线观看图片 | 欧美诱惑福利视频| 日韩天堂av| 欧美成人一区二区在线| 激情欧美国产欧美| 久久九九国产| 亚洲欧美激情视频| 国产精品美女久久久久久免费| 亚洲日本中文字幕免费在线不卡| 久久美女性网| 久久激情久久| 国产欧美高清| 香蕉久久久久久久av网站 | 久久久久久久久久久成人| 国产精品美女久久久浪潮软件| 亚洲美女中文字幕| 欧美黑人一区二区三区| 久久尤物视频| 亚洲国产精品一区制服丝袜 | 亚洲一区二区三区视频| 欧美日韩一区二区三区| 日韩亚洲视频| 日韩视频不卡| 欧美性猛交xxxx乱大交蜜桃| 亚洲午夜久久久久久尤物 | 猛干欧美女孩| 亚洲韩国一区二区三区| 亚洲国产成人久久综合| 欧美电影免费| 亚洲麻豆视频| 亚洲精品美女久久久久| 欧美日韩在线电影| 久久国产99| 乱中年女人伦av一区二区| 亚洲国内精品在线| 在线视频你懂得一区| 国产麻豆日韩欧美久久| 狼狼综合久久久久综合网| 久久久综合免费视频| 日韩一级黄色大片| 中文国产亚洲喷潮| 国产视频亚洲精品| 亚洲国产黄色片| 国产精品盗摄久久久| 久久精品99久久香蕉国产色戒| 久久久久久亚洲综合影院红桃| 亚洲人成欧美中文字幕| 亚洲特色特黄| 亚洲大片在线观看| 亚洲精品在线看| 国产日韩欧美黄色| 亚洲人成绝费网站色www| 国产精品五区| 亚洲国产1区| 国产真实乱偷精品视频免| 亚洲国产三级网| 国产亚洲毛片在线| 亚洲精品资源| 在线观看日韩| 一区二区三区毛片| 亚洲第一久久影院| 亚洲欧美日韩在线| 999亚洲国产精| 欧美一级欧美一级在线播放| 亚洲国产高清自拍| 亚洲欧美日韩一区二区三区在线| 亚洲黄一区二区三区| 亚洲午夜久久久| 亚洲人成欧美中文字幕| 亚洲中字在线| 一本色道久久综合精品竹菊| 性色av香蕉一区二区| 亚洲午夜一级| 欧美精品 日韩| 欧美福利一区二区三区| 国产日韩欧美a| 宅男在线国产精品| 一区二区精品在线| 蜜臀av国产精品久久久久| 欧美在线视频导航| 91久久黄色| 欧美日韩亚洲另类| 亚洲电影免费观看高清完整版在线 | 一本色道久久99精品综合| 久久一区欧美| 久久久久成人精品免费播放动漫| 欧美视频专区一二在线观看| 91久久久久久| 99ri日韩精品视频| 欧美乱大交xxxxx| 欧美成人性网| 亚洲国产欧美久久| 欧美+亚洲+精品+三区| 久久综合久久综合久久综合| 国产亚洲精品久久久久动| 亚洲欧美日韩国产一区二区三区| 亚洲欧美国产精品桃花| 国产精品h在线观看| 一二三四社区欧美黄| 亚洲香蕉网站| 国产精品亚洲网站| 午夜欧美理论片| 久久久噜噜噜久久中文字幕色伊伊| 国产乱码精品一区二区三区五月婷| 亚洲在线黄色| 久久精品99国产精品日本| 国产亚洲一级| 久久久久国产一区二区| 免费成人毛片| 亚洲精品国产精品国自产在线 | 国内精品久久久| 久久久久国产精品麻豆ai换脸| 老司机精品导航| 亚洲激情影院| 欧美日韩国产综合视频在线| 夜夜嗨av一区二区三区网页 | 午夜在线成人av| 国产日韩欧美一区| 久久蜜桃香蕉精品一区二区三区| 欧美成人乱码一区二区三区| 亚洲精品资源| 国产精品成人播放| 午夜亚洲伦理| 亚洲激情成人| 久久国产66| 99re热这里只有精品视频| 国产精品美女一区二区| 久久久久久亚洲精品杨幂换脸| 亚洲激情在线观看视频免费| 亚洲综合大片69999| 伊人狠狠色j香婷婷综合| 欧美日韩国内| 久久久久久夜| 亚洲欧美国产77777| 欧美 日韩 国产一区二区在线视频 | 亚洲国产欧美一区二区三区同亚洲| 久久影院午夜论| 亚洲激情中文1区| 欧美伊人久久久久久午夜久久久久| 激情综合自拍| 欧美日韩在线亚洲一区蜜芽| 久久久久国产精品一区| 中文网丁香综合网| 欧美高清视频一区二区三区在线观看| 亚洲午夜国产成人av电影男同| 亚洲第一天堂av| 国产日韩一区在线| 欧美视频在线一区| 免费看成人av| 久久精品视频va| 欧美一区二区三区四区在线观看| 亚洲欧洲一区二区三区在线观看| 久久综合久久综合久久| 欧美一区二区三区喷汁尤物| 9人人澡人人爽人人精品|