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

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>
            亚洲综合首页| 欧美不卡视频一区| 国产亚洲人成网站在线观看| 欧美视频网址| 国产精品美女主播| 国产精品久久久久久av下载红粉| 欧美日韩国产专区| 国产老肥熟一区二区三区| 国产一区二三区| 亚洲高清在线播放| 99国产精品国产精品毛片| 午夜精品久久久久久久久| 久久久www成人免费精品| 免费欧美网站| 99re6这里只有精品| 亚洲欧美日韩在线观看a三区| 欧美一区二区三区视频| 免费成人在线视频网站| 欧美视频在线观看视频极品| 国产在线拍揄自揄视频不卡99| 亚洲国内高清视频| 午夜视频久久久| 欧美激情亚洲精品| 亚洲嫩草精品久久| 亚洲欧美在线播放| 欧美激情一区二区三区四区| 欧美一区二区三区免费大片| 久久久久免费观看| 99re66热这里只有精品3直播| 香蕉成人久久| 欧美国产一区视频在线观看| 国产欧美精品在线播放| 99在线精品视频| 免费日韩成人| 性欧美18~19sex高清播放| 欧美日本高清一区| 在线成人亚洲| 亚洲综合电影一区二区三区| 美女日韩欧美| 欧美在线免费| 国产欧美日韩精品a在线观看| 91久久午夜| 麻豆精品传媒视频| 午夜精品美女自拍福到在线 | 国语自产精品视频在线看抢先版结局 | 亚洲免费观看高清在线观看| 性欧美在线看片a免费观看| 欧美精品一区二区三区久久久竹菊 | 国产精品99久久久久久久女警| 久久精品国产综合精品| 国产精品羞羞答答| 亚洲在线黄色| 日韩网站在线观看| 欧美日韩成人在线视频| 亚洲区在线播放| 欧美二区不卡| 久久成人久久爱| 国产伦精品一区二区三区视频黑人 | 久久久精品日韩| 国内自拍一区| 久久综合九色综合欧美就去吻| 亚洲欧美日韩综合一区| 国产精品一区二区男女羞羞无遮挡| 日韩午夜在线观看视频| 亚洲第一福利在线观看| 欧美在线免费| 永久免费视频成人| 欧美二区在线| 欧美日韩不卡| 性欧美1819sex性高清| 亚洲在线视频网站| 国产裸体写真av一区二区| 欧美在线观看视频一区二区三区 | 欧美激情精品久久久久久黑人| 久久久久久伊人| 亚洲国产另类 国产精品国产免费| 久久免费高清视频| 另类酷文…触手系列精品集v1小说| 在线播放日韩欧美| 91久久夜色精品国产网站| 国产精品福利av| 久久久国产精品一区| 久热这里只精品99re8久| 日韩视频在线观看国产| 日韩一区二区精品在线观看| 国产精品视频午夜| 久久亚洲综合色一区二区三区| 免费久久99精品国产自在现线| 日韩香蕉视频| 欧美一级视频| 亚洲伦理一区| 午夜在线电影亚洲一区| 亚洲看片免费| 欧美在线国产| 亚洲天堂久久| 久久久一本精品99久久精品66| 日韩网站在线| 久久久亚洲国产美女国产盗摄| 亚洲天堂男人| 久久久999| 亚洲综合三区| 免费不卡亚洲欧美| 欧美中文字幕不卡| 欧美日韩亚洲国产精品| 欧美91大片| 国产模特精品视频久久久久| 亚洲国产美女| 国语自产精品视频在线看一大j8| 亚洲免费成人av| 亚洲精品久久久久久一区二区| 亚洲欧洲99久久| 一本久久综合亚洲鲁鲁五月天| 久久久久99精品国产片| 午夜久久久久久久久久一区二区| 欧美1区视频| 巨乳诱惑日韩免费av| 国产伦精品一区二区三区高清版 | 亚洲欧洲日产国产综合网| 韩日在线一区| 午夜免费电影一区在线观看| 一区二区三区四区五区精品视频 | 国产精品亚洲综合色区韩国| 亚洲黄色有码视频| 在线日韩视频| 欧美在线三区| 久久高清国产| 国产精品综合久久久| 日韩性生活视频| 日韩网站在线| 欧美中文在线观看| 99av国产精品欲麻豆| 亚洲国产另类精品专区| 久久精品国产一区二区三区| 亚洲欧美国产不卡| 欧美日韩视频在线一区二区观看视频 | 一区二区激情小说| 夜夜嗨av色一区二区不卡| 蜜臀av一级做a爰片久久| 裸体一区二区三区| 狠狠久久婷婷| 久久伊人免费视频| 亚洲国产成人精品女人久久久 | 久久躁狠狠躁夜夜爽| 免费91麻豆精品国产自产在线观看| 国产一区二区三区自拍| 性做久久久久久久久| 久久精品在线观看| 精品动漫3d一区二区三区免费| 欧美影院成人| 你懂的国产精品永久在线| 亚洲成人在线网| 欧美高清在线| 一区二区三区精品国产| 性刺激综合网| 在线观看国产成人av片| 欧美不卡三区| 在线视频一区观看| 久久精品国产91精品亚洲| 狠狠操狠狠色综合网| 欧美成人有码| 在线亚洲欧美视频| 久久精品欧美日韩精品| 极品av少妇一区二区| 欧美freesex交免费视频| 亚洲美女诱惑| 久久九九免费视频| 亚洲精品欧美| 国产精品资源| 欧美高清影院| 久久成人av少妇免费| 亚洲人成网站影音先锋播放| 亚洲一区在线直播| 亚洲高清不卡| 国产美女精品视频| 欧美国产精品劲爆| 午夜精品福利在线| 亚洲美女在线视频| 久久精品国产精品亚洲综合| 日韩亚洲欧美在线观看| 精品动漫3d一区二区三区免费版 | 国产欧美一区视频| 蜜臀久久99精品久久久画质超高清| 国产午夜精品理论片a级探花 | 妖精成人www高清在线观看| 久久gogo国模啪啪人体图| 亚洲精品国久久99热| 国产午夜精品久久| 欧美午夜免费| 欧美激情1区2区3区| 欧美一区二区三区四区夜夜大片 | 久久精品夜夜夜夜久久| 亚洲社区在线观看| 亚洲激情女人| 久久综合九色综合网站| 亚洲欧美偷拍卡通变态| 一区二区三区 在线观看视| 在线免费观看欧美| 国产一区二区三区在线播放免费观看 | 久久国产精品72免费观看| 99这里只有精品|