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

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 閱讀(2128) 評論(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>
            美女脱光内衣内裤视频久久影院| 亚洲激情在线激情| 欧美chengren| 免费永久网站黄欧美| 欧美a级片网站| 欧美另类人妖| 国产精品美女在线观看| 国产日韩精品一区二区浪潮av| 国产精品热久久久久夜色精品三区| 国产精品久久综合| 在线观看91精品国产麻豆| 亚洲另类春色国产| 亚洲欧美日韩国产| 男女激情视频一区| 一本色道久久综合亚洲精品不卡| 亚洲免费视频成人| 免费视频最近日韩| 国产精品久久99| 尤物精品国产第一福利三区 | 亚洲一区中文| 久久av资源网站| 亚洲国产毛片完整版| 亚洲免费av电影| 欧美一区二区三区视频免费| 久色婷婷小香蕉久久| 国产精品另类一区| 亚洲高清在线观看| 先锋影音国产一区| 亚洲级视频在线观看免费1级| 亚洲午夜在线观看视频在线| 久久久人成影片一区二区三区观看| 欧美精品国产一区二区| 国产美女在线精品免费观看| 日韩视频一区二区三区| 久久综合99re88久久爱| 正在播放欧美视频| 久久琪琪电影院| 国产三级欧美三级| 亚洲一区二区成人| 亚洲美女黄网| 免费视频一区二区三区在线观看| 国产精品一区在线观看| 在线综合亚洲欧美在线视频| 亚洲午夜未删减在线观看| 99在线精品观看| 国产精品蜜臀在线观看| 免费人成网站在线观看欧美高清| 亚洲精品一区二区三区婷婷月| 欧美一区二区视频在线观看2020 | 欧美日韩国产天堂| 亚洲高清一区二| 两个人的视频www国产精品| 亚洲免费综合| 午夜精品美女久久久久av福利| 久久影院午夜论| 黄色资源网久久资源365| 欧美一区二区三区四区夜夜大片| 中日韩美女免费视频网址在线观看| 欧美精品一区三区| 日韩午夜电影| 日韩视频久久| 欧美日韩综合精品| 一区二区三区视频在线观看| 亚洲激情自拍| 欧美视频在线观看 亚洲欧| 中文亚洲欧美| 亚洲尤物在线视频观看| 国产精品乱码妇女bbbb| 午夜在线视频观看日韩17c| 亚洲欧美另类在线| 激情欧美一区二区三区| 美腿丝袜亚洲色图| 欧美激情小视频| 中日韩高清电影网| 亚洲欧美日韩一区| 在线成人av.com| 亚洲精品小视频| 国产精品一区二区三区四区五区| 久久精品人人做人人综合| 久久久久久久久久看片| 亚洲人体一区| 中文精品在线| 狠狠色丁香婷婷综合影院| 亚洲国产成人91精品| 欧美日韩一区在线播放| 欧美一区二区视频在线观看| 久久精品91久久久久久再现| 亚洲欧洲一区二区在线播放| 99精品国产一区二区青青牛奶| 国产日产欧产精品推荐色| 欧美电影免费观看大全| 欧美吻胸吃奶大尺度电影| 久久久久久久高潮| 欧美日韩综合精品| 模特精品在线| 国产精品一级久久久| 亚洲国产精品久久精品怡红院| 国产精品国产三级国产普通话三级 | 国产精品免费一区豆花| 美日韩精品视频免费看| 国产精品v欧美精品v日本精品动漫| 久久精品视频免费播放| 欧美激情视频免费观看| 久久青青草综合| 欧美视频精品一区| 欧美xx69| 国内精品久久久| 一区二区不卡在线视频 午夜欧美不卡在 | 国语自产精品视频在线看| 亚洲精品免费网站| 国产一区二区欧美| 99re66热这里只有精品3直播 | 亚洲一区在线播放| 美女免费视频一区| 久久色在线观看| 国产精品日本| 99re6热只有精品免费观看| 一区二区三区自拍| 欧美一区二区免费| 午夜日韩在线| 欧美丝袜一区二区三区| 亚洲国产精品一区二区第四页av| 国产午夜精品久久| 亚洲欧美日韩精品在线| 亚洲欧美国产va在线影院| 欧美大片专区| 亚洲成人自拍视频| 亚洲国产精品久久久久久女王| 小辣椒精品导航| 久久精品成人一区二区三区 | 99国内精品久久| 欧美精品色一区二区三区| 亚洲电影第1页| 最新日韩精品| 欧美福利一区| 亚洲精品视频免费观看| 日韩一区二区久久| 欧美精品一区二区高清在线观看| 欧美激情自拍| 日韩午夜激情| 欧美丝袜一区二区| 亚洲综合视频网| 久久免费高清| 亚洲黑丝一区二区| 欧美精品在线观看播放| 亚洲精品一区二区网址| 中日韩美女免费视频网址在线观看| 欧美精品999| 在线亚洲电影| 久久久国产91| 亚洲国产精品小视频| 欧美电影免费观看高清| 91久久久久久久久| 亚洲欧美www| 国精产品99永久一区一区| 久久综合给合久久狠狠狠97色69| 欧美**人妖| 在线亚洲免费视频| 国产亚洲综合性久久久影院| 久久久久久久91| 亚洲精品字幕| 久久国产婷婷国产香蕉| 激情成人中文字幕| 欧美日韩国产123区| 亚洲一级片在线看| 欧美aa在线视频| 亚洲欧美日韩国产成人| 在线成人黄色| 久久久久久高潮国产精品视| 欧美在线视频播放| 激情综合自拍| 欧美日韩一区二区三区高清| 欧美在线免费一级片| 亚洲国产日韩一区| 欧美在线黄色| 亚洲最新在线| 影音先锋亚洲视频| 国产精品免费网站| 欧美二区在线看| 欧美在线观看网址综合| 日韩一区二区免费看| 欧美va天堂va视频va在线| 亚洲香蕉成视频在线观看 | 国产偷国产偷亚洲高清97cao| 免播放器亚洲一区| 亚洲欧美三级伦理| 亚洲美女av在线播放| 久久香蕉国产线看观看av| 中文久久精品| 亚洲精品日产精品乱码不卡| 国产伦理精品不卡| 欧美日韩精品免费观看视一区二区| 欧美在线播放一区二区| 亚洲婷婷在线| 夜夜爽av福利精品导航 | 久久久九九九九| 午夜精品电影| 亚洲伊人观看| 亚洲午夜久久久久久久久电影院 | 蜜臀av在线播放一区二区三区|