您的位置:首页 > 其它

动态规划入门——最大子矩阵

2013-10-02 15:41 211 查看
转载请注明出处:http://blog.csdn.net/a1dark

分析:这题由于时间比较松、所以捆绑之后暴力就解、时间1000ms、

#include<stdio.h>
#define N 1005
int a[N][N];
int b[N];
int main()
{
int t,i,j,m,n,x,y,k,l,w,z;
scanf("%d",&t);
while(t--){
int max=-1000;int sum;
scanf("%d%d%d%d",&m,&n,&x,&y);
for(i=0;i<m;i++)
for(j=0;j<n;j++)
scanf("%d",&a[i][j]);
for(i=0,j=i+x-1;j<m;i++,j=i+x-1){
for(k=0;k<n;k++){
b[k]=0;
for(l=i;l<=j;l++)
b[k]+=a[l][k];
}
for(w=0,z=w+y-1;z<n;w++,z=w+y-1){
sum=0;
for(k=w;k<=z;k++)
sum+=b[k];
if(sum>max)
max=sum;
}
}
printf("%d\n",max);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  动态规划入门 acm