1. 程式人生 > >CCF:跳一跳

CCF:跳一跳

題目描述

題目分析

  • 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; }