蓝桥杯 贪吃蛇长度java实现

Posted skywxp

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了蓝桥杯 贪吃蛇长度java实现相关的知识,希望对你有一定的参考价值。

小明在爷爷的私人收藏馆里找到一台老式电脑。居然没有图形界面,只能用控制台编程。
如上图,是游戏时画面截图。
其中,H表示蛇头,T表示蛇尾。#表示蛇的身体,@表示身体交叉重叠的地方。
你能说出现在的贪吃蛇长度是多少吗?

其实,只要数出#的数目算1,数出@的数目,算2,再加上头尾各算1就计算好了。

人工数一下?太累眼睛了,聪明的你为什么不让计算机帮忙呢?

本题的要求就是: 请填写上图中贪食蛇的长度是多少?

注意:需要提交的是一个整数,不要添加任何多余内容(比如说明或注释)
+————————————————-+
| |
| H###### #### |
| # # # |
| # # # |
| # #### # # |
| # # # # # |
| ######@### # # |
| # #### # # |
| # # # # # |
| ####@#######@### # # |
| # # # # # |
| T ##### # # # ## |
| # # ### ### ## |
| ################ # # #### |
| # # # # |
| ############## #######@########## |
| # ### |
| ########################### |
+————————————————-+

这道题比较简单。我们可以考虑把输入的东西用字符串存储,每一行存储为一个串,然后用循环遍历string,把它存储为chararray即可。

之后再用判断语句来实现题目要求。代码如下:


import
java.util.Scanner; public class 贪吃蛇长度 { public static void main(String[] args) { String s[] = { "H###### #### |", "| # # # |", "| # # # |", "| # #### # # |", "| # # # # # |", "| ######@### # # |", "| # #### # # |", "| # # # # # |", "| ####@#######@### # # |", "| # # # # # |", "| T ##### # # # ## |", "| # # ### ### ## |", "| ################ # # #### |", "| # # # # ", "| ############## #######@########## |", "| # ### |", "| ###########################" }; char[][] arr = new char[60][30]; for (int i = 0; i <s.length; i++) { arr[i] = s[i].toCharArray(); } int ans = 0; for (int i = 0; i < 60; i++) { for (int j = 0; j < arr[i].length; j++) { if(arr[i][j] == \'#\'||arr[i][j] == \'T\'||arr[i][j] == \'H\') { ans++; }else if (arr[i][j] == \'@\') { ans+=2; } } } System.out.println(ans); } }

 

以上是关于蓝桥杯 贪吃蛇长度java实现的主要内容,如果未能解决你的问题,请参考以下文章

蓝桥杯省赛真题23Scratch贪吃蛇 少儿编程scratch蓝桥杯省赛真题讲解

LQ0128 贪吃蛇长度文本处理

网格贪吃蛇的降维度优化

蓝桥杯真题:玩具蛇(Java)

从turtlesim到贪吃蛇……

蓝桥ROS机器人之turtlesim贪吃蛇