题目描述
+-------------------------------------------------+
| |
| H###### #### |
| # # # |
| # # # |
| # #### # # |
| # # # # # |
| ######@### # # |
| # #### # # |
| # # # # # |
| ####@#######@### # # |
| # # # # # |
| T ##### # # # ## |
| # # ### ### ## |
| ################ # # #### |
| # # # # |
| ############## #######@########## |
| # ### |
| ########################### |
+-------------------------------------------------+
小明在爷爷的私人收藏馆里找到一台老式电脑。居然没有图形界面,只能用控制台编程。 经过小明的一阵摸索,神奇地设计出了控制台上的贪食蛇游戏。
如上,是游戏时画面截图。
其中,HH 表示蛇头,TT表示蛇尾。# 表示蛇的身体,@ 表示身体交叉重叠的地方。 你能说出现在的贪吃蛇长度是多少吗?
其实,只要数出 # 的数目算 11,数出 @的数目算 的数目算2 ,再加上头尾各算 ,再加上头尾各算1$ 就计算好了。
人工数一下?太累眼睛了,聪明的你为什么不让计算机帮忙呢?
本题的要求就是: 请输出上图中贪食蛇的长度是多少?
运行限制
最大运行时间:1s
最大运行内存: 128M
解题思路
题目已经提示只要数出 # 的数目算 1,数出 @的数目算 的数目算2 ,再加上头尾各算 ,再加上头尾各算1。因此,只需要将给出的贪吃蛇转化为字符串并计算两种符号出现的次数即可。python代码实现如下:
str1='''+-------------------------------------------------+
| |
| H###### #### |
| # # # |
| # # # |
| # #### # # |
| # # # # # |
| ######@### # # |
| # #### # # |
| # # # # # |
| ####@#######@### # # |
| # # # # # |
| T ##### # # # ## |
| # # ### ### ## |
| ################ # # #### |
| # # # # |
| ############## #######@########## |
| # ### |
| ########################### |
+-------------------------------------------------+'''
#方法1:直接使用字符串的count()函数计数,直接输出结果
print(str1.count('#')+2*str1.count('@')+2)
#方法2:通过循环计数
sum1=0
for i in str1:
if i=='#':
sum1+=1
if i=='@':
sum1+=2
print(sum1+2)