蓝桥杯官网填空题(贪吃蛇长度)

文章讲述了小明在老式电脑上用控制台编程实现的贪吃蛇游戏中,如何通过计数字符#和@来确定蛇的长度,以及提供了一段Java代码示例来自动计算。

题目描述

本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

+-------------------------------------------------+
|                                                 |
|    H######                      ####            |
|          #                      #  #            |
|          #                      #  #            |
|          #     ####             #  #            |
|          #     #  #             #  #            |
|          ######@###             #  #            |
|                #       ####     #  #            |
|                #       #  #     #  #            |
|            ####@#######@###     #  #            |
|            #   #       #        #  #            |
| T          #####       #        #  #   ##       |
| #                      #      ###  ### ##       |
| ################       #      #      ####       |
|                #       #      #         #       |
|   ##############       #######@##########       |
|   #                         ###                 |
|   ###########################                   |
+-------------------------------------------------+

小明在爷爷的私人收藏馆里找到一台老式电脑。居然没有图形界面,只能用控制台编程。 经过小明的一阵摸索,神奇地设计出了控制台上的贪食蛇游戏。

如上,是游戏时画面截图。

其中,H 表示蛇头,T表示蛇尾。# 表示蛇的身体,@ 表示身体交叉重叠的地方。 你能说出现在的贪吃蛇长度是多少吗?

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

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

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

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 128M
import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改

public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int ans=0;
        String[] str=new String[]{"+-------------------------------------------------+",
"|                                                 |",
"|    H######                      ####            |",
"|          #                      #  #            |",
"|          #                      #  #            |",
"|          #     ####             #  #            |",
"|          #     #  #             #  #            |",
"|          ######@###             #  #            |",
"|                #       ####     #  #            |",
"|                #       #  #     #  #            |",
"|            ####@#######@###     #  #            |",
"|            #   #       #        #  #            |",
"| T          #####       #        #  #   ##       |",
"| #                      #      ###  ### ##       |",
"| ################       #      #      ####       |",
"|                #       #      #         #       |",
"|   ##############       #######@##########       |",
"|   #                         ###                 |",
"|   ###########################                   |",
"+-------------------------------------------------+"};
        for(int i=0;i<str.length;i++){
          String str1=str[i];
          for(int j=0;j<str1.length();j++){
            char ch=str1.charAt(j);
            if(ch=='#'){
              ans=ans+1;
            }
            if(ch=='@'){
              ans=ans+2;
            }
          }
        }
        System.out.println(ans+2);
        scan.close();
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值