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

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 閱讀(2134) 評論(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>
            欧美特黄一区| 国产一区二区丝袜高跟鞋图片| 黄色日韩在线| 久久久精彩视频| 久久亚洲综合| 亚洲国产成人精品久久久国产成人一区 | 亚洲欧美日韩在线一区| 国产精品毛片va一区二区三区 | 极品尤物av久久免费看 | 亚洲一区免费在线观看| 亚洲精品视频在线看| 欧美日韩福利| 欧美一区二区三区的| 久久国产免费| 亚洲精品国产精品乱码不99 | 久久久福利视频| 巨乳诱惑日韩免费av| 一区二区高清在线| 午夜激情综合网| 亚洲国内高清视频| 亚洲毛片在线观看| 国产婷婷色一区二区三区在线| 噜噜噜噜噜久久久久久91| 欧美gay视频| 午夜精品国产更新| 麻豆亚洲精品| 午夜精品网站| 你懂的国产精品永久在线| 亚洲欧美中文日韩v在线观看| 欧美一区二区三区四区高清 | 亚洲二区视频| 亚洲校园激情| 日韩网站免费观看| 欧美一区视频在线| 一区二区福利| 美女被久久久| 久久综合网色—综合色88| 欧美日韩精品一区二区三区| 久久久综合网站| 国产精品久久久| 欧美高清视频在线| 国产情人综合久久777777| 亚洲人成啪啪网站| 精品动漫av| 午夜视频久久久| 亚洲免费在线电影| 欧美激情国产日韩| 欧美国产丝袜视频| 国产真实久久| 性欧美xxxx大乳国产app| 亚洲一区999| 欧美欧美天天天天操| 欧美激情按摩| 亚洲国产精品一区二区第一页 | 亚洲欧美日韩国产综合在线 | 国产日韩在线看片| 亚洲无玛一区| 亚洲欧美日韩综合一区| 欧美日韩免费视频| 亚洲精品国产精品国自产观看浪潮| 激情懂色av一区av二区av| 欧美一区二区三区久久精品| 欧美一区二区日韩一区二区| 欧美系列精品| 亚洲一级免费视频| 性欧美长视频| 国内精品久久久久影院优| 先锋a资源在线看亚洲| 亚洲欧美日韩国产综合精品二区| 欧美日韩精品免费在线观看视频| 亚洲国产精品视频一区| 最新日韩中文字幕| 欧美国产日本韩| 91久久国产自产拍夜夜嗨| 亚洲欧洲在线一区| 欧美大片一区二区| 日韩一区二区久久| 亚洲你懂的在线视频| 国产精品久久久999| 亚洲欧美日韩在线不卡| 久久精品91久久久久久再现| 国内精品免费午夜毛片| 亚洲女女女同性video| 久久久久久久久岛国免费| 激情一区二区三区| 牛人盗摄一区二区三区视频| 亚洲精品一区二区在线| 国产精品99久久99久久久二8 | 1769国产精品| 欧美精品一区二区三区在线看午夜 | 亚洲一区二区三区免费观看| 午夜视频在线观看一区二区| 国产一区二区av| 欧美电影在线| 亚洲在线1234| 欧美国产精品va在线观看| 宅男在线国产精品| 国产色产综合产在线视频| 狂野欧美一区| 亚洲一区二区三区激情| 麻豆成人在线| 亚洲尤物影院| 娇妻被交换粗又大又硬视频欧美| 欧美二区乱c少妇| 亚洲素人一区二区| 欧美国产日产韩国视频| 亚洲网站在线播放| 在线欧美亚洲| 国产精品视频网| 欧美美女操人视频| 久久久精品tv| 亚洲午夜一区二区三区| 欧美国产视频在线| 久久九九电影| 亚洲影院色无极综合| 亚洲第一中文字幕| 国产乱码精品一区二区三区不卡| 蜜桃久久精品一区二区| 亚洲影院在线观看| 亚洲破处大片| 欧美大片一区二区| 久久婷婷国产综合精品青草 | 亚洲黄一区二区三区| 国产日韩一区欧美| 欧美性猛交99久久久久99按摩| 久久综合久久久| 午夜亚洲一区| 亚洲女优在线| 中文精品视频| 99av国产精品欲麻豆| 亚洲国产精选| 欧美激情国产日韩精品一区18| 久久久青草婷婷精品综合日韩 | 久久精品人人| 欧美在线二区| 欧美亚洲一级片| 亚洲欧美三级在线| 亚洲午夜精品一区二区| 99国产精品久久久久久久成人热| 亚洲第一狼人社区| 在线国产亚洲欧美| 韩国精品在线观看| 国产一区二区| 激情欧美丁香| 亚洲电影在线观看| 亚洲精品在线电影| 日韩一级网站| 亚洲在线视频网站| 一区二区三区视频观看| 中文欧美字幕免费| 亚洲欧美日韩国产综合| 午夜精品福利在线| 久久高清福利视频| 久久久久久久久久久久久女国产乱| 欧美一区二区视频观看视频| 性欧美精品高清| 久久男人av资源网站| 久久久久久香蕉网| 欧美wwwwww| 亚洲人精品午夜在线观看| 日韩午夜精品视频| 亚洲欧美一级二级三级| 久久精品国产亚洲高清剧情介绍| 久久电影一区| 欧美福利视频在线| 国产精品男女猛烈高潮激情| 国产嫩草一区二区三区在线观看| 国产午夜亚洲精品不卡| 在线观看精品| 一本一本久久| 欧美在线影院| 亚洲国产精品久久久久久女王| 亚洲最新在线视频| 欧美在线视频免费| 欧美激情视频一区二区三区免费| 欧美视频在线观看 亚洲欧| 国产女人精品视频| 亚洲国产成人精品女人久久久 | 欧美成人午夜视频| 国产精品美女午夜av| 伊人精品成人久久综合软件| 亚洲免费成人av| 久久久综合视频| 99v久久综合狠狠综合久久| 亚洲欧美区自拍先锋| 欧美肥婆在线| 国内自拍视频一区二区三区 | 亚洲第一福利在线观看| 亚洲自拍电影| 亚洲二区视频| 午夜在线观看欧美| 欧美日韩国产综合视频在线观看中文 | 国产欧美日韩亚洲精品| 亚洲国产专区| 久久先锋影音| 亚洲一区免费网站| 欧美日韩亚洲国产一区| 伊大人香蕉综合8在线视| 亚洲午夜小视频| 亚洲人成在线观看|