• 2017蓝桥杯贪吃蛇(C++C组)


    原题:

    贪吃蛇长度


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


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


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


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


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


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


        注意:需要提交的是一个整数,不要添加任何多余内容(比如说明或注释)





    解析:


    #include<iostream>
    #include<fstream>
    #include<string>


    using namespace std;


    int main(int argc,char** argv){

    ifstream fin;
    fin.open("data.txt");
    int nums = 0;

    while(fin){

    char data;
    fin >> data;

    if(data == '#'){

    nums++;

    }else if(data == '@'){

    nums = nums + 2;

    }else if(data == 'T' || data == 'H'){

    nums++;
    }
    }

    cout << nums;
    }

  • 相关阅读:
    CSS 控制table 滑动及调整列宽等问题总结
    Java读取properties文件
    水晶报表打印
    C# 运行时序列化
    C#attribute-----------初级
    c# 单元测试工程如何取得当前项目路径
    C# 字段、属性、成员变量
    水晶报表主子报表分页问题
    从0打卡leetcode之day 3 -- 最大子序列和
    从零打卡leetcode之day 2---两数相加
  • 原文地址:https://www.cnblogs.com/viplanyue/p/12700752.html
Copyright © 2020-2023  润新知