题目描述:
一个n * n矩形上存在一些敌人,我们可以选择轰炸m * m的范围,需要你来写个程序得到最多能消灭多少敌人
0 < m <= n <= 50,矩形上每点最多有1000个敌人
输入描述:
数据包含多组(组数不超过100)
每组第一行两个整数n,m
接下来n行每行n个整数,表示第几行第几列存在多少个敌人
输出描述:
每组数据输出一个整数表示最多能击杀敌人
样例输入:
3 2
2 1 2
3 4 2
1 4 4
样例输出:
14
提示:
莽就完事了
#include<stdio.h>
int main()
{
int n,m,v[60][60];
while(~scanf("%d%d",&n,&m))
{
int ans=0;
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
scanf("%d",&v[i][j]);
for(int i=m;i<=n;i++)
{
for(int j=m;j<=n;j++)
{
int sum=0;
for(int ii=i-m+1;ii<=i;ii++)
{
for(int jj=j-m+1;jj<=j;jj++)
{
sum=sum+v[ii][jj];
}
}
if(sum>ans) ans=sum;
}
}
printf("%d\n",ans);
}
}