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

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算法,具體算法:最大流問題
三、代碼

 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ò)中無從u出發(fā)的路
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 閱讀(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国产精品日本| 一区二区三区四区精品| 久久久噜噜噜久久中文字幕色伊伊 | 国产视频一区二区三区在线观看| 午夜精品美女久久久久av福利| 亚洲精品欧美激情| 日韩视频免费观看| 一区二区动漫| 午夜精品福利视频| 久久精品一区二区三区不卡| 久久高清福利视频| 美国十次成人| 欧美激情2020午夜免费观看| 久久婷婷av| 欧美午夜电影网| 国产偷国产偷亚洲高清97cao | 午夜视频精品| 蜜臀99久久精品久久久久久软件 | 久久香蕉国产线看观看av| 久久精品国产亚洲一区二区三区| 欧美国产在线视频| 国产精品美女主播| 在线观看日韩av电影| 亚洲国产精品一区二区第四页av| 亚洲卡通欧美制服中文| 久久国产精品久久久| 欧美成人免费大片| 亚洲精品老司机| 久久香蕉精品| 欧美亚洲综合久久| 欧美日韩中文字幕在线视频| 一区二区三区在线观看国产| 亚洲午夜久久久| 蜜桃av综合| 亚洲无亚洲人成网站77777| 久久精品国产清自在天天线| 欧美裸体一区二区三区| 亚洲区免费影片| 欧美电影免费观看高清| 性欧美暴力猛交另类hd| 欧美日韩精品一区二区| 一区二区三区欧美在线| 欧美激情一区二区三区成人| 午夜精品久久久久久久99黑人| 欧美精品在线播放| 亚洲一区网站| 亚洲女女女同性video| 欧美精品一区二区视频 | 欧美不卡福利| 亚洲欧洲日本一区二区三区| 久久免费的精品国产v∧| 久久精品官网| 亚洲免费成人| 欧美一区二区三区日韩视频| 狠狠色香婷婷久久亚洲精品| 午夜影视日本亚洲欧洲精品| 99精品国产在热久久婷婷| 亚洲欧美在线磁力| 久久视频一区二区| 亚洲一区二区动漫| 影音先锋亚洲精品| 亚洲欧美日韩在线不卡| 欧美日韩国产免费观看| 欧美国产国产综合| 亚洲综合99| 欧美成人三级在线| 在线观看一区视频| 欧美专区在线播放| 亚洲免费在线电影| 国产精品亚洲综合| 欧美在线观看你懂的| 亚洲欧美视频在线观看| 国产日韩欧美视频| 久久影音先锋| 美女主播一区| 一二三区精品| 亚洲欧美日韩一区二区在线| 一二三区精品福利视频| 黄色av一区| 一区二区三区欧美| 欧美成人资源网| 欧美在线黄色| 亚洲欧美精品伊人久久| 国产欧美一区二区三区久久| 欧美日韩在线看| 亚洲一区二区三区在线视频| 亚洲一区高清| 国产日韩在线不卡| 久久午夜精品| 亚洲日本一区二区| 韩国三级电影一区二区| 久久精品国产91精品亚洲| 亚洲国产精品久久久久秋霞蜜臀 | 欧美成人影音| 亚洲二区视频| 久久久av毛片精品| 亚洲伦理网站| 亚洲毛片在线看| 欧美日韩亚洲在线| 欧美在线啊v| 国产亚洲精品久久久久久| 亚洲少妇一区| 久久久久久精| 国产精品午夜av在线| 一个色综合av| 亚洲国产高清在线观看视频| 久久婷婷国产综合精品青草| 美女久久一区| 久久av在线看| 欧美日韩在线不卡一区| 久久婷婷影院| 国产精品美女久久| 亚洲国产精品久久久久秋霞蜜臀 | 99综合在线| 一区二区三区在线免费播放| 亚洲狼人精品一区二区三区| 国产午夜精品一区二区三区欧美| 欧美国产一区二区在线观看| 欧美日韩hd| 欧美国内亚洲| 国产精品一区二区久久| 亚洲日本久久| 亚洲国产精品一区二区www| 亚洲综合电影| 中文欧美在线视频| 免费成人av资源网| 亚洲精品看片| 国产精品黄色| 欧美一级大片在线免费观看| 亚洲第一天堂无码专区| 久久国产99| 久久综合影视| 欧美一区二区三区在线看 | 亚洲视频狠狠| 欧美国产日韩精品| 日韩一区二区精品视频| aⅴ色国产欧美| 国产情人节一区| 老司机精品视频一区二区三区| 久久中文精品| 激情欧美一区二区| 国产精品99久久99久久久二8| 亚久久调教视频| 亚洲美女av电影| 美女精品一区| 激情欧美一区二区| 麻豆国产va免费精品高清在线| 亚洲欧美日韩视频二区| 国产精品久久午夜夜伦鲁鲁| 亚洲美女福利视频网站| 亚洲人成亚洲人成在线观看图片| 午夜精品久久久久| 黄色亚洲免费| 久久久久高清| 欧美xart系列高清| 一本色道久久综合狠狠躁篇怎么玩 | 国产精品久久久久久久久久免费| 午夜精品久久| 欧美人与性动交cc0o| 亚洲日韩欧美一区二区在线| 亚洲激情电影中文字幕| 欧美激情一区二区三级高清视频| 久久亚洲国产精品日日av夜夜| 久久综合一区二区三区| 欧美成年人网| 日韩一区二区福利| 国产精品日日做人人爱| 欧美专区18| 亚洲国产欧美精品| 亚洲永久免费视频| 国产亚洲欧美在线| 美女精品一区| 亚洲欧美另类在线观看| 麻豆成人小视频| 一区二区三区四区国产精品| 欧美日韩中文字幕日韩欧美| 亚洲午夜免费福利视频| 蜜臀久久99精品久久久画质超高清 | 午夜激情亚洲| 欧美jizzhd精品欧美巨大免费| 亚洲精品免费电影| 国产精品视频久久久| 久久夜色精品一区| 99热精品在线| 亚洲素人一区二区| 亚洲人成小说网站色在线| 一区二区免费看| 国产视频亚洲| 欧美jizz19性欧美| 香港久久久电影| 一本色道久久综合亚洲精品按摩| 欧美自拍偷拍| 99精品视频一区| 亚洲电影毛片| 国产色视频一区| 欧美三级电影大全| 女女同性女同一区二区三区91| 亚洲一线二线三线久久久| 欧美激情综合色|