博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU 2830 Matrix Swapping II
阅读量:5955 次
发布时间:2019-06-19

本文共 1581 字,大约阅读时间需要 5 分钟。

Problem Description
Given an N * M matrix with each entry equal to 0 or 1. We can find some rectangles in the matrix whose entries are all 1, and we define the maximum area of such rectangle as this matrix’s goodness. 
We can swap any two columns any times, and we are to make the goodness of the matrix as large as possible.
 

Input
There are several test cases in the input. The first line of each test case contains two integers N and M (1 ≤ N,M ≤ 1000). Then N lines follow, each contains M numbers (0 or 1), indicating the N * M matrix
 

Output
Output one line for each test case, indicating the maximum possible goodness.
 

Sample Input
 
3 4 1011 1001 0001 3 4 1010 1001 0001
 

Sample Output
 
4 2 Note: Huge Input, scanf() is recommended.
 
做法參考网上,记录每一行的连续个数,排序后dp就可以。盗张图
#include
#include
#include
#include
#include
using namespace std;int n,m;char str[1100];int num[1100],sum[1100];int cmp(int a,int b){ return a>b;}int main(){ while(~scanf("%d%d",&n,&m)) { getchar(); char ch; int ans=0; memset(num,0,sizeof(num)); for(int i=1;i<=n;i++) { for(int j=1;j<=m;j++) { scanf("%c",&ch); if(ch=='1') num[j]++; else num[j]=0; sum[j]=num[j]; } sort(sum+1,sum+m+1,cmp); for(int i=1;i<=m;i++) ans=max(ans,sum[i]*i); getchar(); } printf("%d\n",ans); } return 0;}

转载地址:http://jpexx.baihongyu.com/

你可能感兴趣的文章
Python高效编程技巧
查看>>
Kafka服务端脚本详解(1)一topics
查看>>
js中var self=this的解释
查看>>
js--字符串reverse
查看>>
面试题
查看>>
Facebook 接入之获取各个配置参数
查看>>
linux的日志服务器关于屏蔽一些关键字的方法
查看>>
事情的两面性
查看>>
只要会营销,shi都能卖出去?
查看>>
sed单行处理命令奇偶行输出
查看>>
走向DBA[MSSQL篇] 从SQL语句的角度 提高数据库的访问性能
查看>>
VC++深入详解学习笔记1
查看>>
安装配置discuz
查看>>
CentOS7 64位小型操作系统的安装
查看>>
线程互互斥锁
查看>>
KVM虚拟机&openVSwitch杂记(1)
查看>>
win7下ActiveX注册错误0x80040200解决参考
查看>>
《.NET应用架构设计:原则、模式与实践》新书博客--试读-1.1-正确认识软件架构...
查看>>
2013 Linux领域年终盘点
查看>>
linux学习之查看程序端口占用情况
查看>>