蓝桥杯 贪吃蛇长度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实现的主要内容,如果未能解决你的问题,请参考以下文章