CCF201803-1 跳一跳(100分)【序列處理】
阿新 • • 發佈:2019-01-10
試題編號: | 201803-1 |
試題名稱: | 跳一跳 |
時間限制: | 1.0s |
記憶體限制: | 256.0MB |
問題描述: |
問題描述 近來,跳一跳這款小遊戲風靡全國,受到不少玩家的喜愛。 輸入格式 輸入包含多個數字,用空格分隔,每個數字都是1,2,0之一,1表示此次跳躍跳到了方塊上但是沒有跳到中心,2表示此次跳躍跳到了方塊上並且跳到了方塊中心,0表示此次跳躍沒有跳到方塊上(此時遊戲結束)。 輸出格式 輸出一個整數,為本局遊戲的得分(在本題的規則下)。 樣例輸入 1 1 2 2 2 1 1 2 2 0 樣例輸出 22 資料規模和約定 對於所有評測用例,輸入的數字不超過30個,保證0正好出現一次且為最後一個數字。 |
問題分析:
一個簡單的序列處理問題。
輸入到檔案結束或最後一個數為0。
程式說明:
變數plus用於儲存加分。初值為0,連續得2分則每次增加2分,如果得1分(沒有跳到中心)則加分變為0分。
提交後得100分的C++語言程式如下:
/* CCF201803-1 跳一跳 */ #include <iostream> using namespace std; int main() { int a, sum = 0, plus = 0; while(scanf("%d", &a) != EOF && a) { sum += a; if(a == 1) plus = 0; else if(a == 2) { sum += plus; plus += 2; } } printf("%d\n", sum); return 0; }