vijos-1199,核弹危机

mac2024-06-28  55

题目描述:

shibowen和ganggang正在玩红警,可不料shibowen造出了核弹正要发射......(ganggang @_@) 已知核弹的攻击范围是边长n的正方形,ganggang的基地是边长m的正方形 基地样例:

...#.# .#...# ##...# ...... ..#### .#....

#表示房屋,.表示平地,求核弹最多能摧毁多少房屋(被核弹攻击的房屋都会消失,好强啊~~~~~~~)。

 

输入格式: 

第一行基地边长m(10000>m>0) 第二行核弹攻击边长n(10000>n>-1) 接下来m行输入基地 

输出格式: 

摧毁最多房屋数 

样例输入: 

6

3

...#.#

######

......

......

#.....

...### 

样例输出: 

解题思路: 

 可以用搜索去解这道题,不过仔细看了看题,我感觉可以直接暴力四重循环就可以AC了,并没有超时。。。

程序代码: 

#include<iostream> #include<cstdio> #include<cstring> using namespace std; char a[10001][10001]; int n,m; int main() { int ans=0,num; cin>>m>>n; for(int i=1;i<=m;i++) { for(int j=1;j<=m;j++) { cin>>a[i][j]; } } for(int i=1;i<=m;i++) { for(int j=1;j<=m;j++) { num=0; for(int x=i;x<=i+n-1;x++) { for(int y=j;y<=j+n-1;y++) { if(a[x][y]=='#') num++; if(num>ans) ans=num; } } } } cout<<ans<<endl; return 0; }

 

最新回复(0)