炸弹人

原创 2018年04月15日 19:39:48

Problem Description

放置一枚炸弹,找出能消灭最多敌人的点,炸弹不能穿墙,其中墙用#表示,敌人用G表示,空地用.表示,当然炸弹只能放在空地上。

Input

输入第一行两个整数m,n(0<m,n<20),然后是m行和n列,假设最少能消灭1个敌人。

Output

输出炸弹放置的位置和最多消灭的敌人数,格式如样例。

Sample Input

13 13
#############
#GG.GGG#GGG.#
###.#G#G#G#G#
#.......#..G#
#G#.###.#G#G#
#GG.GGG.#.GG#
#G#.#G#.#.###
##G...G.....#
#G#.#G###.#G#
#...G#GGG.GG#
#G#.#G#G#.#G#
#GG.GGG#G.GG#

#############

Sample Output

(9,9) 8

程序代码:

#include<stdio.h>
int main()
{
char a[25][25];
int i,j,m,n,x,y,p,q,sum,max=0;
scanf("%d%d",&m,&n);
for(i=0;i<m;i++)
scanf("%s",a[i]);
for(i=0;i<m;i++)
for(j=0;j<n;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>max)
{
max=sum;
p=i;
q=j;
}
}
printf("(%d,%d) %d\n",p,q,max);
return 0;
}






人工智能工程师直通车第一期

为满足市场需求,培养更多人工智能人才,CSDN学院特别邀请到有十余年教学经验的中科院教授卿来云老师及有丰富工业级实战经验的智亮老师,为大家带来本次课程。 通往人工智能工程师的直通车,已经准备出发了!这波人工智能的热潮,你真的要错过吗?
  • 2017年10月24日 15:37

java炸弹人游戏源码

  • 2014年04月18日 09:11
  • 674KB
  • 下载

啊哈!算法—枚举之炸弹人

炸弹人: 现有关卡:游戏者只有一枚炸弹,且炸弹可以杀死杀伤范围内所有敌人。请问炸弹放在哪个位置,可以消灭最多的敌人。 思路:   首先将地图模型化。墙用#表示;敌人用G表示;空地用.表示。炸弹只...
  • LY_624
  • LY_624
  • 2016-05-02 12:16:49
  • 746

炸弹人单机版源码

  • 2006年02月23日 09:05
  • 1.48MB
  • 下载

炸弹人 游戏

/*炸弹人 # 代表墙体 .代表可以安放地雷的地方 G代表敌人 地雷会朝着横向竖向炸去 遇到墙体结束 输入起点位置 求可以炸掉最多敌人的坐标 */...
  • zhagoodwell
  • zhagoodwell
  • 2017-02-05 22:10:33
  • 574

JAVA 炸弹人(一)

JAAV炸弹人
  • JackLei__
  • JackLei__
  • 2016-01-09 22:27:35
  • 1111

html5炸弹人游戏源码

  • 2015年02月02日 21:40
  • 543KB
  • 下载

啊哈算法搜索应用之再解炸弹人(DFS与BFS)

//广搜 #include #include #include struct node{//存此点的坐标,消灭敌人数 int x; int y; int sum; }; ...
  • ccDLlyy
  • ccDLlyy
  • 2016-10-04 15:10:43
  • 638

Java炸弹人实现及源码

源码较长,请自行下载,已打包入jar中。 下载地址:http://download.csdn.net/source/501281 此示例根据日本Hudson公司推出的炸弹人游戏改编而成,采用...
  • cping1982
  • cping1982
  • 2008-06-17 22:26:00
  • 6294

基于Unity3D的经典版炸弹人

说一下我的思路:1.首先是地图的生成:        public void InitMap() { for (int i = 0; i &amp;lt; length; i ...
  • qq_33413868
  • qq_33413868
  • 2018-04-14 11:27:46
  • 92
收藏助手
不良信息举报
您举报文章:炸弹人
举报原因:
原因补充:

(最多只允许输入30个字)