CCF:跳一跳
阿新 • • 發佈:2019-01-03
題目描述
題目分析
- 2對應的加分是要處理的,需要找出是否是第一個2
- 第一次處理的時候把=忽略了,結果20分
- 每次2之後的1都是下一個2開始的標誌,所以用了個flag代表2是否連續
程式碼
#include <iostream>
using namespace std;
int main() {
int index=0;
int bonus=2,sum=0;
bool flag=false;
int n;
while(cin>>n&&n){
if(n==1){
sum+=1 ;
if(bonus>=2){//這裡沒寫=的時候,測試用例2 1 2 1 0是錯的
bonus=2;
flag=false;
}
}
if(n==2&&!flag){
sum+=2;
flag=true;
}else if(n==2&&flag){
bonus+=2;
sum+=bonus;
}
}
cout <<sum<<endl;
return 0;
}