CSP 2018年3月第1题 跳一跳
-
我一开始做,没有做出来,哎,基础题偶尔也会卡住
-
需要 pre 变量来记住上一次的得分,若这一次又中中心,则需要将得分 +2,以此类推
-
第三个条件语句,
else if(cur==2 && pre==2)
是有误的,这样导致连续的中心,得分会出错感觉 if else 语句也不会了…)
#include<bits/stdc++.h>
using namespace std;
int main()
{
int ans = 0;
int cur,pre = 0;//pre 是当前的值,相较于下一次 就是 pre
cin>>cur;
while(cur!=0)
{
if(cur==1)
{
ans +=1;
pre = 1;
}
else if(cur==2 &&(pre==1 || pre==0))
{
ans +=2;
pre = 2;
}
//else if(cur==2 && pre==2)
else
{
ans +=pre+2;
pre +=2;
}
cin>>cur;
}
cout<<ans;
return 0;
}