题目描述
小鸡跳呀跳是eric喜欢的一个小游戏,画面上会不断出现各种障碍物和金币,eric可以控制小鸡不断跳来跳去,通过障碍物,获取金币。如果不小心碰到障碍物,游戏就结束了。游戏的积分规则如下:
- 游戏开始积分为0。
- 获取一个金币,得分20。
- 连续获得金币,第1个多得10,第2个多得20,第3个或以上多得30分。
- 总积分是所有分数的累加
请写一个程序来帮eric计算一下每次游戏的得分。
输入
第一行是一个整数T(1≤T≤1000),表示样例的个数。 以后每行一个样例,为一个不长度不超过200个字符的字符串,字符串中只存在OX#
三种字符,O
表示通过障碍物并获得一个金币,X
表示通过障碍物,#
表示碰到障碍物。
输出
每行输出一个样例的结果,为一个整数。
样例输入
2 OOO# XXX#
样例输出
90 0
思路分析:这道题较为简单,具体思路见代码,但这道题要注意,那个是大写的O不是0
#include<stdint.h>
#include <iostream>
#include<string.h>
using namespace::std;
int main()
{
int k;
scanf("%d", &k);
while (k--) {
char arr[201];
int score = 0, flag, count = 0;
scanf(" %s", &arr);
int len = strlen(arr);
for (int i = 0; i < len; i++) {
if (arr[i] == 'O') {
score += 20 + 10 * count;
if (count < 3) {
count++;
}
}
else if (arr[i] == '#') {
break;
}
else if (arr[i] == 'X') {
count = 0;
}
}
printf("%d\n", score);
}
}