编程之美2014格格取数
来源:互联网 发布:java 打war包 编辑:程序博客网 时间:2024/04/28 06:22
#include <stdio.h>#include <vector>#include <algorithm>#include <iostream>using namespace std;int last;//剩下未覆盖的边或行数int boolx[100];//经过边或行的数量int booly[100];int m,n;//行数,列数unsigned int mini;typedef struct point{unsigned int v;//值unsigned int x;//坐标unsigned int y;};bool more(const point &a,const point &b){return a.v>b.v;}bool lesss(const point &a,const point &b){return a.v<b.v;}vector<point> all;vector<point> np;void delp(int x,int y,int v){//if(boolx[x]>1&&booly[y]>1){boolx[x]--;booly[y]--;}else mini += v;}void addp(int x,int y){if(boolx[x] == 0)last--;if(booly[y] == 0)last--;boolx[x]++;booly[y]++;}int main(){int i,j,T,t = 1;unsigned int s;cin>>T;point p;while(T--){cin>>m>>n;for( i = 0 ;i<m;i++){for( j = 0;j<n;j++){cin>>s;p.x = i;p.y = j;p.v = s;all.push_back(p);boolx[i] = 0;booly[j] = 0;}}sort(all.begin(),all.end(),lesss);last = n + m;i = 0;while(last > 0){addp(all[i].x,all[i].y);np.push_back(all[i++]);}mini = 0;sort(np.begin(),np.end(),more);for( i =0; i<np.size();i++)delp(np[i].x,np[i].y,np[i].v);all.clear();np.clear();printf("Case %d: ",t++);cout<<mini<<endl;}return 0;}
0 0
- 编程之美2014格格取数
- 编程之美2014格格取数
- 编程之美2014格格取数
- 编程之美之格格取数
- 编程之美 格格取数问题
- 编程之美-格格取数
- 编程之美2014格格取数(回溯法)
- 2014编程之美资格赛 题目3 : 格格取数
- 编程之美2014资格赛题目3:格格取数
- 2014编程之美资格赛第三题-格格取数
- 编程之美 打酱油 格格取数
- 【编程之美资格赛】题目3 : 格格取数
- 编程之美 格格取数 C语言版本
- [2014]编程之美第3题,格格取数问题
- 2014 编程之美 资格赛 第三题 格格取数(二分图带权最小边覆盖)
- 编程之美 2014 格格取数(最小费用最大流)
- 2014 编程之美 预赛第三题 格格取数 上下界费用流
- 编程之美2014资格赛 hihoCoder 题目3:格格取数
- 【SDOI2011】工作安排
- hadoop运维之NameNode重启
- Xunsearch安装步骤
- 大整数加法的源代码合集!
- Android menu关闭应用程序
- 编程之美2014格格取数
- 使用Myeclipse 10开发基于JAX-WS的Web service实例
- Scala中List的步长by
- 防盗链实现
- 在排序数组中,找出给定数字的出现次数
- 常用类(包装类)的的介绍
- jquery $
- hdu 2187 悼念512汶川大地震遇难同胞——老人是真饿了
- Core Data