标题 穿越雷区 java_蓝桥杯javaB--穿越雷区
标题:穿越雷区
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--穿越雷区相关推荐
- 蓝桥杯javaB组穿越雷区
穿越雷区之javaBFS 本题为2015年第六届蓝桥杯javaB组第4题. 考点:图的广度优先搜索.类似于一个分层搜索的过程,广度优先搜索需要用到队列以保持访问过的图节点的顺序,一般用来求" ...
- 蓝桥杯历届-穿越雷区
蓝桥杯历届-穿越雷区 标题:穿越雷区 X星的坦克战车很奇怪,它必须交替地穿越正能量辐射区和负能量辐射区才能保持正常运转,否则将报废. 某坦克需要从A区到B区去(A,B区本身是安全区,没有正能量或负能量 ...
- 蓝桥杯javaB决赛历届真题6-10届
蓝桥杯javaB决赛历届真题 第六届 T1 分机号 T2 五星填数 T3 显示二叉树 T4 穿越雷区 T5 表格计算 T6 铺瓷砖 第七届 T1 愤怒小鸟 T2 反幻方 T3 打靶 T4 路径之谜 T ...
- 2018年第九届蓝桥杯 JavaB组省赛 刷题思路及答案
前言 本人是二本院校大二的计算机系学生,已经报名了下一届的蓝桥杯省赛,整个寒假学习了很多算法知识,我是看<算法很美>这个课程学习算法的,一套学习下来确实受益匪浅,视频在b站上面都有. 此前 ...
- 【2021年蓝桥杯Java-B组国赛题解】
2021年蓝桥杯Java-B组国赛
- 2022第十三届蓝桥杯JAVAB组省赛总结
2022年第十三届蓝桥杯JAVAB组省赛 蓝桥杯准备了好久,毕竟学校还是认可,如果能进国赛还能有保研加分. 今年真是可惜了,题太难了,从去年买了Acwing的课,一直在学,没想到到最后是这么个情况. ...
- 蓝桥杯JavaB组 2.纸牌三角形
题目: A,2,3,4,5,6,7,8,9 共9张纸牌排成一个正三角形(A按1计算).要求每个边的和相等. 下图就是一种排法(如有对齐问题,参看p1.png). A9 64 8 3 7 5 8 这样的 ...
- 2018第九届蓝桥杯JavaB组省赛真题及详解
2018第九届蓝桥杯JavaB组省赛真题及详解 第一题:第几天 第二题:方格计数 第三题:复数幂 第四题:测试次数 第五题:快速排序 第六题:递增三元组 第七题:螺旋折线 第八题:日志统计 第九题:全 ...
- 蓝桥杯之穿越雷区 BFS
本题为2015年第六届蓝桥杯C语言A组试题,第4题. 考点:广度优先搜索(BFS) 广搜一般用来解决"最短""最少"问题,需用到队列. 题目描述 标题:穿越雷区 ...
最新文章
- 操作系统pv操作学习总结
- 深入探讨 java.lang.ref 包--转
- [学习笔记] PHP回调函数的实现方法 [转]
- 如何在vs2010中使用ConfigurationManager
- 16.卷1(套接字联网API)---非阻塞式IO
- 在Word中如何进行半行输入
- 数据字典中的数据类型与ABAP中的中数据类型对应关系
- 头哥数据结构和算法答案
- 遭遇Excel的宏病毒
- BizTalk Server : 提高 BizTalk 编程能力的 8 点技巧和窍门
- IMDB TOP250 更新于2015.3
- 易捷行云EasyStack携新一代私有云亮相中国电子信息博览会
- java d打字游戏_练习--java实现的打字游戏
- 童年往事,好看的电影,好听的音乐!
- android商品尺码界面,多终端产品 | 解析原型画布尺寸和界面尺寸
- 关于flask入门教程-ajax+echarts实现大屏展示
- https 被redirect成了http
- Linux(CentOS)下,各种协议,端口号
- vue.js (制作电商网站)知识点总结一 待补充
- 【openEuler】x2openEuler工具使用