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

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 閱讀(3364) 評論(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一区二区三区| 欧美成人一区二区三区| 国产九区一区在线| 欧美日韩三区| 欧美视频1区| 欧美视频手机在线| 国产精品久久久久av| 国产精品免费观看在线| 国产女同一区二区| 亚洲国产91| 一本到高清视频免费精品| 亚洲一区二区三区精品在线| 亚洲欧美日韩在线播放| 久久精品亚洲乱码伦伦中文| 亚洲第一福利在线观看| 美日韩在线观看| 欧美电影资源| 亚洲精品孕妇| 午夜精品久久久久久久白皮肤| 久久er99精品| 欧美—级在线免费片| 国产精品久久久久影院色老大| 国内精品国产成人| 一本大道久久a久久综合婷婷| 久久精品国产亚洲a| 亚洲国产精品99久久久久久久久| 亚洲一区二区三区在线播放| 蜜桃久久av| 国产日韩欧美不卡| 亚洲免费福利视频| 久久综合伊人| 亚洲伊人网站| 欧美精品午夜| 国产专区欧美精品| 亚洲一二三区在线观看| 欧美成人午夜激情在线| 午夜精品视频在线观看| 欧美日韩系列| 亚洲精品欧洲| 久久影音先锋| 午夜视频在线观看一区二区三区 | 日韩视频一区二区三区| 欧美在线播放视频| 欧美吻胸吃奶大尺度电影| 亚洲国产精品久久久| 欧美中文在线免费| 夜夜嗨av一区二区三区四区| 牛牛精品成人免费视频| 一色屋精品视频在线观看网站| 欧美亚洲三级| 亚洲精品视频在线播放| 欧美成人自拍视频| 一区在线视频| 久久久噜噜噜久久| 小黄鸭精品aⅴ导航网站入口| 欧美日韩妖精视频| 亚洲图色在线| 亚洲一区二区三区中文字幕 | 一色屋精品视频免费看| 久久久水蜜桃| 久久精品国产久精国产爱| 国产网站欧美日韩免费精品在线观看| 亚洲综合激情| 亚洲天天影视| 国产日产亚洲精品| 久久久另类综合| 久久一区亚洲| 亚洲韩国日本中文字幕| 亚洲黑丝一区二区| 久久国产精品第一页| 玖玖综合伊人| 欧美在线视频在线播放完整版免费观看 | 久久久成人精品| 欧美一区二区久久久| 国产亚洲毛片| 欧美jjzz| 欧美日产国产成人免费图片| 亚洲一区在线播放| 欧美在线视频观看免费网站| 亚洲国产毛片完整版| 日韩一级成人av| 国产精品久久久久一区二区| 欧美在线精品免播放器视频| 久久久亚洲国产美女国产盗摄| 亚洲激情在线观看视频免费| 99精品免费视频| 国产亚洲欧美另类中文| 免费国产自线拍一欧美视频| 欧美激情精品久久久久久| 亚洲综合三区| 久久天天躁狠狠躁夜夜av| 日韩午夜在线电影| 一区二区三区精品视频在线观看| 国产免费亚洲高清| 亚洲高清成人| 国产网站欧美日韩免费精品在线观看| 麻豆精品精品国产自在97香蕉| 欧美顶级艳妇交换群宴| 欧美一区二区三区在| 欧美成人dvd在线视频| 欧美一级在线视频| 欧美jizz19性欧美| 午夜视频在线观看一区二区| 久久久久久九九九九| 亚洲一区久久| 牛夜精品久久久久久久99黑人| 欧美一区二区在线播放| 欧美成人综合一区| 久久亚洲精品视频| 国产精品永久免费观看| 亚洲美女精品久久| 亚洲国产黄色片| 香蕉国产精品偷在线观看不卡| 亚洲人成人一区二区三区| 久久国产精品久久国产精品 | 久久噜噜亚洲综合| 欧美日韩色综合| 欧美激情第五页| 伊人久久综合| 久久成人18免费网站| 欧美在线二区| 国产精品乱码久久久久久| 亚洲精品色婷婷福利天堂| 亚洲国产欧美日韩精品| 久久亚洲精选| 久久夜精品va视频免费观看| 国产精品国产三级国产专区53| 亚洲高清在线观看| 在线高清一区| 欧美主播一区二区三区美女 久久精品人| 亚洲午夜激情免费视频| 国产精品视频999| 一本久道久久综合中文字幕| 亚洲人成高清| 欧美1区2区3区| 欧美电影资源| 亚洲精品乱码久久久久久蜜桃麻豆 | 欧美激情影院| 欧美黄免费看| 亚洲激情在线观看视频免费| 久热re这里精品视频在线6| 可以免费看不卡的av网站| 黄色国产精品一区二区三区| 久久精品日韩一区二区三区| 巨乳诱惑日韩免费av| 在线视频观看日韩| 欧美丰满高潮xxxx喷水动漫| 亚洲国产精品专区久久| 亚洲日本视频| 欧美日韩1区| 亚洲一区二区三区四区中文 | 亚洲国产精品一区二区久| 久久综合婷婷| 亚洲精品一区二| 亚洲欧美国产精品桃花| 国产欧美视频一区二区三区| 欧美在线视屏| 欧美高清在线精品一区| 一本色道久久综合亚洲精品不 | 亚洲精品国产品国语在线app| 亚洲精品乱码久久久久久按摩观 | 欧美一区二区在线播放| 蜜桃av噜噜一区| 99在线观看免费视频精品观看| 欧美色一级片| 欧美在线播放一区| 亚洲人成在线观看| 欧美在线精品免播放器视频| 亚洲国产成人av好男人在线观看| 欧美精品成人一区二区在线观看| 一区二区三区.www| 老司机精品福利视频| 99国产精品视频免费观看| 国产精品一二一区| 欧美高潮视频| 欧美在线网址| 日韩视频在线免费观看| 久久伊人亚洲| 亚洲午夜激情| 亚洲国产精品久久久久| 国产精品羞羞答答| 欧美激情视频一区二区三区免费| 午夜天堂精品久久久久| 亚洲欧洲一二三| 久久综合久久综合久久综合| 亚洲天堂偷拍| 亚洲免费观看高清完整版在线观看熊 | 久久另类ts人妖一区二区| 日韩亚洲欧美在线观看| 欧美成人精品1314www| 亚洲欧美日韩综合国产aⅴ| 亚洲欧洲精品一区二区精品久久久 | 亚洲图片在区色| 在线观看91精品国产麻豆| 国产精品亚洲综合久久| 欧美日本二区| 欧美二区在线| 久久天天躁狠狠躁夜夜爽蜜月| 欧美亚洲视频在线观看| 亚洲午夜久久久久久久久电影院|