标签: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