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;
}

posted @ 2018-03-22 19:57  IT蓝月  阅读(233)  评论(0编辑  收藏  举报
Live2D