LQ0128 贪吃蛇长度文本处理
Posted 海岛Blog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LQ0128 贪吃蛇长度文本处理相关的知识,希望对你有一定的参考价值。
题目来源:蓝桥杯2017初赛 C++ C组B题
题目描述
小明在爷爷的私人收藏馆里找到一台老式电脑。居然没有图形界面,只能用控制台编程。
经过小明的一阵摸索,神奇地设计出了控制台上的贪食蛇游戏。
如下图,是游戏时画面截图。
+-------------------------------------------------+
| |
| H###### #### |
| # # # |
| # # # |
| # #### # # |
| # # # # # |
| ######@### # # |
| # #### # # |
| # # # # # |
| ####@#######@### # # |
| # # # # # |
| T ##### # # # ## |
| # # ### ### ## |
| ################ # # #### |
| # # # # |
| ############## #######@########## |
| # ### |
| ########################### |
+-------------------------------------------------+
其中,H表示蛇头,T表示蛇尾。#表示蛇的身体,@表示身体交叉重叠的地方。
你能说出现在的贪吃蛇长度是多少吗?
其实,只要数出#的数目算1,数出@的数目,算2,再加上头尾各算1就计算好了
人工数一下?太累眼睛了,聪明的你为什么不让计算机帮忙呢?
本题的要求就是: 请填写上图中贪食蛇的长度是多少?
输出格式
输出一个整数表示答案
问题分析
这是一个填空题,需要做一个离线程序,用条件编译来解决。
准备输入的数据如上图。
AC的C语言程序如下:
/* LQ0128 贪吃蛇长度 */
#include <stdio.h>
/* #define DEBUG */
int main()
#ifdef DEBUG
int ans = 0;
char c;
while (~scanf("%c", &c))
if (c == '#' || c == 'T' || c == 'H')
ans++;
else if (c == '@')
ans += 2;
printf("%d\\n", ans);
#else
printf("190\\n");
#endif
return 0;
以上是关于LQ0128 贪吃蛇长度文本处理的主要内容,如果未能解决你的问题,请参考以下文章