标签:des style io os ar for sp div on
3 4 1011 1001 0001 3 4 1010 1001 0001
4 2 Note: Huge Input, scanf() is recommended.
题意:一列一列的移动图,问最大的1组成的面积?
思路:每一行中,对高排序,高就是a【i】,长就是i,我代码中是j,然后就可以求最优解了
</pre><pre name="code" class="cpp">#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
#define N 1005
int h[N],a[N];
int n,m;
int cmp(int a,int b)
{
return a>b;
}
int main()
{
int i,j;
char c;
while(~scanf("%d%d",&n,&m))
{
getchar();
memset(h,0,sizeof(h));
int ans=0;
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
scanf("%c",&c);
if(c=='1')
h[j]++;
else
h[j]=0;
}
getchar();
for(j=1;j<=m;j++)
a[j]=h[j];
sort(a+1,a+m+1,cmp); //强调一次,是一列一列的移动
for(j=1;j<=m;j++)
ans=max(ans,a[j]*j);
}
printf("%d\n",ans);
}
return 0;
}
HDu 2830 Matrix Swapping II(dp)
标签:des style io os ar for sp div on
原文地址:http://blog.csdn.net/u014737310/article/details/40192091