题目见https://acm.sjtu.edu.cn/OnlineJudge/problem/1002
我一开始打出了如下代码:
#include<cstdio> int main() { int L,W,area[L+1][W+1],a,b,m=0,c=0; scanf("%d%d",&L,&W); for(int i=1;i<=L;i++){ for(int j=1;j<=W;j++) scanf("%d",&area[i][j]); } scanf("%d%d",&a,&b); for(int i=1;i<=L-a+1;i++) { for(int j=1;j<=W-b+1;j++) { for(int k=i;k<=i+a-1;k++) { for(int p=j;p<=j+b-1;p++) m=m+area[k][p]; } if(m>c) c=m; } } printf("%d",c); return 0; }
试图用四层for循环来暴力解决,但发现行不通(顺便吐槽一句,上交的c语言检测版本太老了,C99都不支持)
由于实力有限,先把代码放到这里,以后解决.