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;
}
最新文章
- MSSQL 查询数据库所有表的大小, 有助于删除一些没用的表
- 【腾讯Bugly干货分享】深入源码探索 ReactNative 通信机制
- Android SQLite (四 ) 全面详解(二)
- hdu----(1257)最少拦截系统(dp/LIS)
- 动手学servlet(三) 请求头和响应头信息
- 1369 xth 砍树
- Datazen 自定义地图--中国地图
- 北大ACM(POJ1753-Flip Game)
- java 产生随机数
- Eight(bfs+全排列的哈希函数)
- ajax提交富文本,内容被截断,解决方法及思路
- Objective-C 链式编程思想
- 基于Spring的最简单的定时任务实现与配置(一)
- 关于LT分发系统的设计构想
- Selenium高级篇Web自动化测试框架
- ionic3+angular4的三方微信开发(登录and分享)
- kibana从入门到精通-Kibana安装
- 转 Debugging AutoCAD 2017 using Visual Studio 2015
- [转帖]DevOps/TestOps概念
- Android调用相机拍摄照片并显示到 ImageView控件中