标题:穿越雷区

X星的坦克战车很奇怪,它必须交替地穿越正能量辐射区和负能量辐射区才能保持正常运转,否则将报废。

某坦克需要从A区到B区去(A,B区本身是安全区,没有正能量或负能量特征),怎样走才能路径最短?

已知的地图是一个方阵,上面用字母标出了A,B区,其它区都标了正号或负号分别表示正负能量辐射区。

例如:

A + - + -

- + - - +

- + + + -

+ - + - +

B + - + -

坦克车只能水平或垂直方向上移动到相邻的区。

数据格式要求:

输入第一行是一个整数n,表示方阵的大小, 4<=n<100

接下来是n行,每行有n个数据,可能是A,B,+,-中的某一个,中间用空格分开。

A,B都只出现一次。

要求输出一个整数,表示坦克从A区到B区的最少移动步数。

如果没有方案,则输出-1

例如:

用户输入:

5

A + - + -

- + - - +

- + + + -

+ - + - +

B + - + -

则程序应该输出:

10

资源约定:

峰值内存消耗(含虚拟机) < 512M

CPU消耗 < 2000ms

请严格按要求输出,不要画蛇添足地打印类似:“请您输入...” 的多余内容。

所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。

注意:不要使用package语句。不要使用jdk1.7及以上版本的特性。

注意:主类的名字必须是:Main,否则按无效代码处理。

package第六届;importjava.awt.print.Printable;importjava.util.Scanner;importjavax.xml.soap.AttachmentPart;public class穿越雷区

{static char [][] maze = new char[100][100];static intn;static int [][] art = {{1,0},{0,1},{-1,0},{0,-1}};static boolean [][] vis = new boolean[100][100];static int ans = 2000;public static boolean in(int dx,intdy)

{return dx>=0&&dx=0&&dy

}public static void dfs(int x,int y,int temp)//a保存上一步的形状

{if(maze[x][y] == ‘B‘)//找到B区

{if(temp

{

ans=temp;

}return;

}

vis[x][y]= true;for(int i=0;i<4;i++)

{int dx = x+art[i][0];int dy = y+art[i][1];if(in(dx,dy)&& maze[dx][dy]!=maze[x][y]&&!vis[dx][dy])

{

dfs(dx, dy, temp+1);

}

}

vis[x][y]= false;

}public static voidmain(String[] args)

{

Scanner scanner= newScanner(System.in);

n=scanner.nextInt();int x =0;int y =0;for(int i=0;i

{//maze[i] = scanner.next().replace(" ", "").toCharArray();

for(int j=0;j

{

maze[i][j]= scanner.next().charAt(0);if(maze[i][j] == ‘A‘)

{

x=i;

y=j;

}

}

}

dfs(x, y,0);

System.out.print(ans);

}

}

原文:https://www.cnblogs.com/zkw123/p/12268160.html

标题 穿越雷区 java_蓝桥杯javaB--穿越雷区相关推荐

  1. 蓝桥杯javaB组穿越雷区

    穿越雷区之javaBFS 本题为2015年第六届蓝桥杯javaB组第4题. 考点:图的广度优先搜索.类似于一个分层搜索的过程,广度优先搜索需要用到队列以保持访问过的图节点的顺序,一般用来求" ...

  2. 蓝桥杯历届-穿越雷区

    蓝桥杯历届-穿越雷区 标题:穿越雷区 X星的坦克战车很奇怪,它必须交替地穿越正能量辐射区和负能量辐射区才能保持正常运转,否则将报废. 某坦克需要从A区到B区去(A,B区本身是安全区,没有正能量或负能量 ...

  3. 蓝桥杯javaB决赛历届真题6-10届

    蓝桥杯javaB决赛历届真题 第六届 T1 分机号 T2 五星填数 T3 显示二叉树 T4 穿越雷区 T5 表格计算 T6 铺瓷砖 第七届 T1 愤怒小鸟 T2 反幻方 T3 打靶 T4 路径之谜 T ...

  4. 2018年第九届蓝桥杯 JavaB组省赛 刷题思路及答案

    前言 本人是二本院校大二的计算机系学生,已经报名了下一届的蓝桥杯省赛,整个寒假学习了很多算法知识,我是看<算法很美>这个课程学习算法的,一套学习下来确实受益匪浅,视频在b站上面都有. 此前 ...

  5. 【2021年蓝桥杯Java-B组国赛题解】

    2021年蓝桥杯Java-B组国赛

  6. 2022第十三届蓝桥杯JAVAB组省赛总结

    2022年第十三届蓝桥杯JAVAB组省赛 蓝桥杯准备了好久,毕竟学校还是认可,如果能进国赛还能有保研加分. 今年真是可惜了,题太难了,从去年买了Acwing的课,一直在学,没想到到最后是这么个情况. ...

  7. 蓝桥杯JavaB组 2.纸牌三角形

    题目: A,2,3,4,5,6,7,8,9 共9张纸牌排成一个正三角形(A按1计算).要求每个边的和相等. 下图就是一种排法(如有对齐问题,参看p1.png). A9 64 8 3 7 5 8 这样的 ...

  8. 2018第九届蓝桥杯JavaB组省赛真题及详解

    2018第九届蓝桥杯JavaB组省赛真题及详解 第一题:第几天 第二题:方格计数 第三题:复数幂 第四题:测试次数 第五题:快速排序 第六题:递增三元组 第七题:螺旋折线 第八题:日志统计 第九题:全 ...

  9. 蓝桥杯之穿越雷区 BFS

    本题为2015年第六届蓝桥杯C语言A组试题,第4题. 考点:广度优先搜索(BFS) 广搜一般用来解决"最短""最少"问题,需用到队列. 题目描述 标题:穿越雷区 ...

最新文章

  1. 操作系统pv操作学习总结
  2. 深入探讨 java.lang.ref 包--转
  3. [学习笔记] PHP回调函数的实现方法 [转]
  4. 如何在vs2010中使用ConfigurationManager
  5. 16.卷1(套接字联网API)---非阻塞式IO
  6. 在Word中如何进行半行输入
  7. 数据字典中的数据类型与ABAP中的中数据类型对应关系
  8. 头哥数据结构和算法答案
  9. 遭遇Excel的宏病毒
  10. BizTalk Server : 提高 BizTalk 编程能力的 8 点技巧和窍门
  11. IMDB TOP250 更新于2015.3
  12. 易捷行云EasyStack携新一代私有云亮相中国电子信息博览会
  13. java d打字游戏_练习--java实现的打字游戏
  14. 童年往事,好看的电影,好听的音乐!
  15. android商品尺码界面,多终端产品 | 解析原型画布尺寸和界面尺寸
  16. 关于flask入门教程-ajax+echarts实现大屏展示
  17. https 被redirect成了http
  18. Linux(CentOS)下,各种协议,端口号
  19. vue.js (制作电商网站)知识点总结一 待补充
  20. 【openEuler】x2openEuler工具使用

热门文章

  1. Windows系统以及浏览器常用快捷键
  2. 移动开发者必须了解的55个APP运营推广工具!
  3. 如何将不同情况下的List带到SQL中进行判断操作
  4. 发展教育数字化,开创教育新局面
  5. windows64位配置安装python2.7
  6. 天地图调用域名与 https
  7. 查看pip安装的python包的位置等详细信息
  8. 聪明是一种天赋,而善良是一种选择
  9. 25_类和面向对象的概念
  10. html中如何引用其外部字体,css引入外部字体