题目描述 Description

假设以最美观的方式布置花店的橱窗,有F束花,V个花瓶,我们用美学值(一个整数)表示每束花放入每个花瓶所产生的美学效果。为了取得最佳的美学效果,必须使花的摆放取得最大的美学值。

输入描述 Input Description

第一行为两个整数F,V(F<=V<=100)

接下来F行每行V个整数,第i行第j个数表示第i束花放入第j个花瓶的美学值。

输出描述 Output Description

一个整数,即最大美学值。

样例输入 Sample Input

2 2

10 0

5 2

样例输出 Sample Output

12

数据范围及提示 Data Size & Hint
 
 
思路:
  费用流~~~;
 
 
来,上代码:

#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm> #define lit 10001
#define maxn 505
#define INF 0x7fffffff using namespace std; struct EdgeType {
int v,e,f,w;
};
struct EdgeType edge[maxn*maxn]; int if_z,n,m,head[maxn],s,t=maxn-,cnt=;
int pre[maxn],ans,dis[maxn]; bool if_[maxn]; char Cget; inline void in(int &now)
{
now=,if_z=,Cget=getchar();
while(Cget>''||Cget<'')
{
if(Cget=='-') if_z=-;
Cget=getchar();
}
while(Cget>=''&&Cget<='')
{
now=now*+Cget-'';
Cget=getchar();
}
now*=if_z;
} inline void edge_add(int u,int v,int w,int f)
{
edge[++cnt].v=v,edge[cnt].f=f,edge[cnt].w=w,edge[cnt].e=head[u],head[u]=cnt;
edge[++cnt].v=u,edge[cnt].f=,edge[cnt].w=-w,edge[cnt].e=head[v],head[v]=cnt;
} bool spfa()
{
int que[maxn*maxn],h=,tail=;
for(int i=s;i<=t;i++) dis[i]=INF,pre[i]=-;
dis[s]=,que[]=s,if_[s]=true;
while(h<tail)
{
int now=que[h++];
for(int i=head[now];i;i=edge[i].e)
{
if(dis[edge[i].v]>dis[now]+edge[i].w&&edge[i].f>)
{
pre[edge[i].v]=i;
dis[edge[i].v]=dis[now]+edge[i].w;
if(!if_[edge[i].v])
{
if_[edge[i].v]=true;
que[tail++]=edge[i].v;
}
}
}
if_[now]=false;
}
return dis[t]<INF;
} int main()
{
in(n),in(m);int w;
for(int i=;i<=n;i++)
{
edge_add(s,i,,);
for(int j=;j<=m;j++)
{
in(w);
edge_add(i,j+n,lit-w,);
}
}
for(int i=;i<=m;i++) edge_add(i+n,t,,);
while(spfa())
{
int now=t;
while(pre[now]!=-)
{
edge[pre[now]].f-=;
edge[pre[now]^].f+=;
now=edge[pre[now]^].v;
}
ans+=lit-dis[t];
}
cout<<ans;
return ;
}

最新文章

  1. 解决EBS中JAR包冲突的问题
  2. linux环境下配置solr5.3详细步骤
  3. iOS 语录
  4. ruby cookbook
  5. IBM X3650 M4安装win 2008 Server操作指南
  6. 将android Settings 源码 导入到 eclipse工程
  7. Symfony框架系列----常用命令
  8. 区间重合判断(pojg校门外的树)
  9. C# winform 按钮设置左边图标
  10. flask刷新token
  11. python 循环 while
  12. list quen队列
  13. 十五、Collections.sort(&lt;T&gt;, new Comparator&lt;T&gt;() {})针对字符串排序
  14. 上网爱快?EasyRadius FOR 爱快V2接口测试版正式推出,欢迎广大爱迷们测试噢
  15. Angular 插值字符串
  16. Spring技术内幕总结 - AOP概述
  17. python3操作数据库 借助pycharm快速连接并操作mysql数据库
  18. [Algorithm] Find merge point of two linked list
  19. TCP的三次握手与四次释放
  20. 洛谷OJ P2356 弹珠游戏 维护前缀和

热门文章

  1. 【mysql】【转发】Cannot proceed because system tables used by Event Scheduler were found damaged at server start
  2. 15.Yii2.0框架where单表查询
  3. 在ArchLinux、manjaro中安装MySql(mariaDB)
  4. Applied Nonparametric Statistics-lec1
  5. (转)iOS获取设备型号
  6. cpu位图
  7. Linux学习-Linux的账号与群组
  8. windows下创建子进程过程中代码重复执行问题
  9. JAVA-基础(三)
  10. MyBatis多个接口参数报错:Available parameters are [0, 1, param1, param2], 及解决方法