版权声明:我的就是我的 https://blog.csdn.net/qq_41638851/article/details/89294006
/*用枚举法来初步解决炸弹人问题*/
#include<bits/stdc++.h>
using namespace std;
int main() {
char a[100][100];//定义地图的大小
int sum;
int map=0;
int n,m;
while(cin>>n>>m) {
int x,y; //n代表行,m代表列,直接进行字符串输入
for(int i=0;i<=n-1;i++)
scanf("%s",a[i]);
for(int i=0;i<=n-1;i++){
for(int j=0;j<=m-1;j++){
if(a[i][j]=='.'){
sum=0;
x=i;y=j;//向上
while(a[x][y]!='#'){
if(a[x][y]=='G')
sum++;
x--;
}
x=i;y=j;
while(a[x][y]!='#'){
if(a[x][y]=='G')
sum++;
x++;
}
x=i;y=j;
while(a[x][y]!='#'){
if(a[x][y]=='G')
sum++;
y--;
}
x=i;y=j;
while(a[x][y]!='#'){
if(a[x][y]=='G')
sum++;
y++;
}
if(sum>map){
map=sum;
}
}
}
}
cout<<map<<endl;
}
return 0;
}