1. 程式人生 > >CCF-201803-1-跳一跳

CCF-201803-1-跳一跳

data 超過 輸出格式 ext 小遊戲 獲得 ++ 分隔 clas

問題描述   近來,跳一跳這款小遊戲風靡全國,受到不少玩家的喜愛。
  簡化後的跳一跳規則如下:玩家每次從當前方塊跳到下一個方塊,如果沒有跳到下一個方塊上則遊戲結束。
  如果跳到了方塊上,但沒有跳到方塊的中心則獲得1分;跳到方塊中心時,若上一次的得分為1分或這是本局遊戲的第一次跳躍則此次得分為2分,否則此次得分比上一次得分多兩分(即連續跳到方塊中心時,總得分將+2,+4,+6,+8...)。
  現在給出一個人跳一跳的全過程,請你求出他本局遊戲的得分(按照題目描述的規則)。 輸入格式   輸入包含多個數字,用空格分隔,每個數字都是1,2,0之一,1表示此次跳躍跳到了方塊上但是沒有跳到中心,2表示此次跳躍跳到了方塊上並且跳到了方塊中心,0表示此次跳躍沒有跳到方塊上(此時遊戲結束)。 輸出格式   輸出一個整數,為本局遊戲的得分(在本題的規則下)。 樣例輸入 1 1 2 2 2 1 1 2 2 0 樣例輸出 22 數據規模和約定   對於所有評測用例,輸入的數字不超過30個,保證0正好出現一次且為最後一個數字。
import
java.util.ArrayList; import java.util.List; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); List<Integer> arr = new ArrayList<Integer>(); int num; while (in.hasNext()) { num
= in.nextInt(); arr.add(num); if (num == 0) { in.close(); break; } } int count = 0; int grade = 0; for (int i = 0; i < arr.size(); i++) { if (arr.get(i) == 1) { count = 0; grade
+= 1; } else if (arr.get(i) == 2) { count += 2; grade += count; } else { break; } } System.out.println(grade); } }

CCF-201803-1-跳一跳