#define _CRT_SECURE_NO_WARNINGS
//跳一跳游戏;1表示跳到了方块但是没有跳到中心,2表示跳到了中心;0表示没有跳到;输入0,1,2这三个数字中的任意一个然后累计这样的做法后求出最后的总得分
//思路:输入一个数表示它是跳到中心等情况,然后用数组来记录每一次的情况,因为下一次的得分情况取决于上一次的情况,sum表示总和(输入 1 1 2 2 2 1 1 2 2 0 应该输出22)
#include<stdio.h>
int main()
{
int i;
int number[30];//也可以不是30
int sum = 0;
int cnt=0;//这个用来计数,计算连续跳到中心的次数。如果不是中心那么需要变成零。(重置的意思)
for (i = 0; i < 30; i++)
{
scanf("%d", &number[i]);//不能是“%d "哦,因为本来在输入第一个数之后遇到空格或者回车这样就可以读取第一个数,但是如果人为地加入空格,会使后面的空格都会被忽略,然后就导致第一个数就无法被读取了,直到输入下一个数,这样第一个数才会被读取。也就是说后面需要再输入一个任意数,才会让前面的数都被读取。
if (number[i] == 0)
{
break;
}
if (number[i] == 2)//这里用大的条件作为入口,下面再细分小的情况
{
cnt++;
if (i == 0 || number[i - 1] == 1)
{
sum += 2;
}
else
{
sum = sum + cnt * 2;
}
}
if (number[i] == 1)
{
cnt = 0;
sum += 1;
}
}
printf("%d", sum);
return 0;
}