问题及代码:
/*
炸弹人:计算出哪个位置的炸弹能炸到最多的人(本题有例外情况,需要优化)
*/
#include<stdio.h>
int main()
{
char a[20][21];
int i,j,sum,map=0,p,q,m,n,x,y;
scanf("%d %d",&n,&m);//n表示行字符数
for(i=0;i<=n-1;i++)
scanf("%s",&a[i]); //读入n行字符
for(i=0;i<=n-1;i++)
{
for(j=0;j<=m-1;i++)
{
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+&