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

posts - 18,  comments - 5,  trackbacks - 0
一、題目描述

Description

Dearboy, a goods victualer, now comes to a big problem, and he needs your help. In his sale area there are N shopkeepers (marked from 1 to N) which stocks goods from him.Dearboy has M supply places (marked from 1 to M), each provides K different kinds of goods (marked from 1 to K). Once shopkeepers order goods, Dearboy should arrange which supply place provide how much amount of goods to shopkeepers to cut down the total cost of transport.

It's known that the cost to transport one unit goods for different kinds from different supply places to different shopkeepers may be different. Given each supply places' storage of K kinds of goods, N shopkeepers' order of K kinds of goods and the cost to transport goods for different kinds from different supply places to different shopkeepers, you should tell how to arrange the goods supply to minimize the total cost of transport.

Input

The input consists of multiple test cases. The first line of each test case contains three integers N, M, K (0 < N, M, K < 50), which are described above. The next N lines give the shopkeepers' orders, with each line containing K integers (there integers are belong to [0, 3]), which represents the amount of goods each shopkeeper needs. The next M lines give the supply places' storage, with each line containing K integers (there integers are also belong to [0, 3]), which represents the amount of goods stored in that supply place.

Then come K integer matrices (each with the size N * M), the integer (this integer is belong to (0, 100)) at the i-th row, j-th column in the k-th matrix represents the cost to transport one unit of k-th goods from the j-th supply place to the i-th shopkeeper.

The input is terminated with three "0"s. This test case should not be processed.

Output

For each test case, if Dearboy can satisfy all the needs of all the shopkeepers, print in one line an integer, which is the minimum cost; otherwise just output "-1".

Sample Input

1 3 3
1 1 1
0 1 1
1 2 2
1 0 1
1 2 3
1 1 1
2 1 1
1 1 1
3
2
20
0 0 0

Sample Output

4
-1


二、分析
      一個的最小費用最大流問題,詳細算法:最小費用最大流
三、代碼

  1#include<iostream>
  2#include<queue>
  3using namespace std;
  4int n, m, kind;
  5int s, t;
  6int order[51][51];
  7int store[51][51];
  8int cost[51][51][51];
  9int c[102][102];
 10int f[102][102];
 11int b[102][102];
 12int p[102];
 13int d[102];
 14bool visit[102]; //表示spfa中點是否在隊列中
 15void spfa() //求Gf的最短路
 16{
 17    queue<int> q;
 18    memset(visit, 0sizeof(visit));
 19    q.push(s);
 20    visit[s] = true;
 21    while(!q.empty())
 22    {
 23        int u = q.front();
 24        visit[u] = false;
 25        q.pop();
 26        for(int v=0; v<=n+m+1; v++)
 27            if(c[u][v] > f[u][v] && d[v] > d[u] + b[u][v])
 28            {
 29                d[v] = d[u] + b[u][v];
 30                p[v] = u;
 31                if(!visit[v])
 32                {
 33                    q.push(v);
 34                    visit[v] = true;
 35                }

 36            }

 37    }

 38}

 39void mcmf()
 40{
 41    while(1)
 42    {
 43        memset(p, -1sizeof(p));
 44        for(int i=1; i<=n+m+1; i++)
 45            d[i] = 100000;
 46        d[s] = 0;
 47        spfa();
 48        if(p[t] == -1//表示已無增廣路
 49            break;
 50        int minf = INT_MAX;
 51        int it = t;
 52        while(p[it] != -1)
 53        {
 54            minf = min(minf, c[p[it]][it] - f[p[it]][it]);
 55            it = p[it];
 56        }

 57        it = t;
 58        while(p[it] != -1)
 59        {
 60            f[p[it]][it] += minf;
 61            f[it][p[it]] = -f[p[it]][it];
 62            it = p[it];
 63        }

 64    }

 65}

 66int main()
 67{
 68    while(1)
 69    {
 70        scanf("%d%d%d"&n, &m, &kind);
 71        if(n==0 && m==0 && kind==0)
 72            break;
 73        for(int i=1; i<=n; i++)
 74            for(int j=1; j<=kind; j++)
 75                scanf("%d"&order[i][j]);
 76        for(int i=1; i<=m; i++)
 77            for(int j=1; j<=kind; j++)
 78                scanf("%d"&store[i][j]);
 79        for(int i=1; i<=kind; i++)
 80            for(int j=1; j<=n; j++)
 81                for(int k=1; k<=m; k++)
 82                    scanf("%d"&cost[i][k][j]);
 83        s = 0; t = m+n+1;
 84        int res = 0;
 85        bool flag = true;
 86        for(int i=1; i<=kind; i++)
 87        {
 88            memset(c, 0sizeof(c));
 89            for(int j=1; j<=m; j++)
 90                c[s][j] = store[j][i];
 91            for(int j=1; j<=m; j++)
 92                for(int k=1; k<=n; k++)
 93                    c[j][k+m] = store[j][i];
 94            for(int j=1; j<=n; j++)
 95                c[j+m][t] = order[j][i];
 96            memset(b, 0sizeof(b));
 97            for(int j=1; j<=m; j++)
 98                for(int k=1; k<=n; k++)
 99                {
100                    b[j][k+m] = cost[i][j][k];
101                    b[k+m][j] = -b[j][k+m]; //負費用,表示回流會減小費用
102                }

103            memset(f, 0sizeof(f));
104            mcmf();
105            for(int j=1; j<=n; j++)
106                if(c[j+m][t] != f[j+m][t])
107                {
108                    flag = false;
109                    break;
110                }

111            if(!flag) break;
112            for(int j=1; j<=m; j++)
113                for(int k=1; k<=n; k++)
114                    res += f[j][m+k] * b[j][m+k];
115        }

116        if(flag)
117            printf("%d\n", res);
118        else
119            printf("-1\n");
120    }

121}
posted on 2009-06-30 22:09 Icyflame 閱讀(3377) 評論(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>
            国产精品入口麻豆原神| 欧美77777| 欧美日韩高清在线| 亚洲人成7777| 免费成人高清| 久久久噜噜噜久噜久久 | 久久岛国电影| 午夜精品福利一区二区蜜股av| 欧美三级免费| 日韩视频在线观看| 免费不卡欧美自拍视频| 欧美一区二区精品久久911| 国产精品高潮呻吟久久av黑人| 99视频一区二区三区| 亚洲日本成人在线观看| 久久久人成影片一区二区三区观看| 韩日视频一区| 美女999久久久精品视频| 久久国产日韩| 在线成人亚洲| 亚洲国产精品一区二区三区| 免费黄网站欧美| 亚洲精品女人| 欧美成人高清视频| 女生裸体视频一区二区三区| 亚洲综合色在线| 久久久久久久久久久久久久一区 | 亚洲午夜女主播在线直播| 亚洲自拍啪啪| 亚洲人体偷拍| 午夜精品福利视频| 亚洲蜜桃精久久久久久久| 亚洲一区视频在线| 亚洲人成网站在线播| 亚洲欧美精品在线观看| 亚洲精品久久久久久下一站| 亚洲免费综合| 一二三区精品| 乱人伦精品视频在线观看| 香蕉久久夜色精品| 欧美高清在线视频观看不卡| 久久精品视频在线| 欧美日韩国产一区二区三区| 免费欧美视频| 国产欧美日韩另类视频免费观看| 亚洲高清不卡在线观看| 国产视频精品va久久久久久| 日韩亚洲不卡在线| 亚洲高清视频在线观看| 午夜一区二区三区不卡视频| 亚洲一区3d动漫同人无遮挡| 欧美成人tv| 麻豆精品国产91久久久久久| 国产视频一区三区| 一级成人国产| 一区二区av在线| 欧美激情亚洲另类| 亚洲第一二三四五区| 国内一区二区三区在线视频| 亚洲一二三四久久| 亚洲视频一区在线| 欧美精品一区二区三| 欧美黄色视屏| 亚洲盗摄视频| 美女日韩在线中文字幕| 欧美gay视频| 亚洲二区免费| 美女精品在线| 亚洲国产精品一区制服丝袜| 日韩午夜中文字幕| 欧美日韩国产三级| 亚洲美女黄网| 亚洲无毛电影| 国产精品欧美久久| 亚洲私人黄色宅男| 性欧美xxxx大乳国产app| 国产精品欧美日韩一区| 亚洲一区二区精品| 欧美在线观看一区二区三区| 国产伦精品一区二区三| 欧美尤物一区| 美女精品在线观看| 亚洲黄页一区| 欧美女同视频| 亚洲午夜一区| 久久亚洲精品伦理| 亚洲欧洲久久| 欧美日韩视频在线一区二区 | 欧美大片免费观看在线观看网站推荐 | 欧美成人中文字幕在线| 亚洲人成亚洲人成在线观看| 在线亚洲免费视频| 国产精品综合| 久久偷窥视频| 99综合视频| 麻豆精品精品国产自在97香蕉| 亚洲高清精品中出| 欧美视频在线看| 午夜视频在线观看一区| 欧美激情第五页| 午夜国产不卡在线观看视频| 激情欧美丁香| 欧美视频观看一区| 久久精品色图| 一区二区三区日韩精品| 久久综合网络一区二区| 在线视频精品一| 国产一区二区三区视频在线观看| 欧美极品aⅴ影院| 小黄鸭精品密入口导航| 91久久精品国产91久久性色| 欧美亚洲在线观看| 亚洲精品美女91| 国产日韩欧美二区| 欧美日韩国产页| 久久久精品一品道一区| 一区二区三区视频在线| 欧美成人精品影院| 欧美一区二区三区男人的天堂| 亚洲日韩欧美视频一区| 国产主播精品| 欧美性片在线观看| 欧美国产免费| 久久精品一区二区| 午夜电影亚洲| 夜夜嗨av一区二区三区免费区| 欧美激情导航| 麻豆成人在线播放| 久久精品国产亚洲一区二区| 亚洲视频图片小说| 亚洲精品自在久久| 亚洲国产天堂久久综合| 国产一区二区日韩精品| 国产乱码精品一区二区三区忘忧草| 欧美女同在线视频| 欧美激情视频一区二区三区免费| 久久久久一本一区二区青青蜜月| 亚洲欧美另类在线观看| 亚洲一区二区免费视频| av成人动漫| 99热在线精品观看| 99视频有精品| 9l国产精品久久久久麻豆| 亚洲精品一级| 亚洲精品国产品国语在线app| 亚洲国产成人一区| 亚洲电影在线观看| 欧美国产精品v| 欧美国产丝袜视频| 亚洲激情成人| 亚洲精品一区二区三区四区高清| 亚洲精品一二区| 日韩亚洲不卡在线| 亚洲一区久久| 午夜日韩在线| 久久久久亚洲综合| 蜜桃久久av一区| 欧美激情免费观看| 欧美日韩在线播放一区| 国产精品久久久久国产a级| 国产精品免费电影| 国产亚洲一区在线播放| 韩国v欧美v日本v亚洲v| 亚洲国产成人一区| 亚洲乱码一区二区| 亚洲一二三区精品| 性欧美暴力猛交另类hd| 久久一区二区三区av| 欧美www视频| 亚洲免费激情| 午夜视频精品| 欧美成人黄色小视频| 欧美日韩国内自拍| 国产日韩精品一区二区浪潮av| 狠狠色丁香婷婷综合| 日韩一区二区精品葵司在线| 亚洲综合视频网| 久久久亚洲午夜电影| 亚洲福利视频网站| 制服诱惑一区二区| 久久久久国产一区二区三区四区| 欧美电影资源| 国产精品亚洲激情| 亚洲人在线视频| 欧美在线国产精品| 91久久综合亚洲鲁鲁五月天| 亚洲午夜精品视频| 美女网站久久| 国产欧美在线视频| 日韩亚洲欧美高清| 久久久精品性| 日韩视频在线播放| 久久青青草原一区二区| 欧美三级在线视频| 亚洲电影免费观看高清完整版| 亚洲视频中文字幕| 欧美韩日亚洲| 欧美在线免费视频| 国产精品男女猛烈高潮激情 | 99re6热只有精品免费观看|