枚举地图位置 啊哈,算法上

简介: 枚举地图位置 啊哈,算法上

题目:给出一个20*20以内的地图,里面会有墙,敌人,平地,要求是找到最合适的放炸弹的位置,并且能够杀死对应行列的敌人,有墙壁的话就会截止


#include <stdio.h>
int main()
{
  char a[20][21];  //定义地图的长度不会超过20*20的
  int n,m,i,j,sum,max=0,p,q,x,y;
  scanf("%d%d",&n,&m);   //n - 行数  m-列数
  //开始读入n行字符地图 
  for(i=0;i<n;i++)
  scanf("%s",a[i]);
  //进行遍历地图 
  for(i=0;i<n;i++)
  for(j=0;j<m;j++)
  {
    //1.1 首先判断这个点是不是平地
    if(a[i][j] == '.')
    {
        //1.2 是的话...  
     //2.1 进行不停上下左右遍历
    sum=0;
      //2.2 设置x,y作为i,j不停往一个位置的遍历 
    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++; 
    }
    //1.3 是的话进行查找每个点能够击杀的最多人次sum,并且保存i,j的坐标 用p和q来保存  
    if(sum>max){
      max = sum;
      p = i,q = j;
    }
    }//if 
  }//for 
  printf("找到能够消灭最大点的位置(%d,%d),能够消灭%d人",p,q,max);
  return 0;
}



给出实例:


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#
#############


运行结果:



相关文章
|
算法
class083 动态规划中用观察优化枚举的技巧-下【算法】
class083 动态规划中用观察优化枚举的技巧-下【算法】
179 2
|
算法
class082 动态规划中用观察优化枚举的技巧-上【算法】
class082 动态规划中用观察优化枚举的技巧-上【算法】
183 2
|
5月前
|
算法 机器人 定位技术
基于机器视觉和Dijkstra算法的平面建筑群地图路线规划matlab仿真
本程序基于机器视觉与Dijkstra算法,实现平面建筑群地图的路径规划。通过MATLAB 2022A读取地图图像,识别障碍物并进行路径搜索,支持鼠标选择起点与终点,最终显示最优路径及长度,适用于智能导航与机器人路径规划场景。
|
9月前
|
算法 定位技术 数据安全/隐私保护
基于遗传优化算法的多AGV栅格地图路径规划matlab仿真
本程序基于遗传优化算法实现多AGV栅格地图路径规划的MATLAB仿真(测试版本:MATLAB2022A)。支持单个及多个AGV路径规划,输出路径结果与收敛曲线。核心程序代码完整,无水印。算法适用于现代工业与物流场景,通过模拟自然进化机制(选择、交叉、变异)解决复杂环境下的路径优化问题,有效提升效率并避免碰撞。适合学习研究多AGV系统路径规划技术。
486 12
|
存储 算法 程序员
|
算法 JavaScript 程序员
程序员必知:《程序设计与算法(二)算法基础》《第一周枚举》熄灯问题POJ
程序员必知:《程序设计与算法(二)算法基础》《第一周枚举》熄灯问题POJ
180 0
|
算法
枚举算法的介绍
枚举算法的介绍
266 0
|
算法 定位技术
【算法】 用Prolog解决地图着色问题
【算法】 用Prolog解决地图着色问题
229 0
枚举算法:解决问题的穷举之道(二)
枚举算法:解决问题的穷举之道(二)
枚举算法:解决问题的穷举之道(一)
枚举算法:解决问题的穷举之道(一)

热门文章

最新文章