现在你在玩一款游戏,叫做节奏小师。它有三种判定
P : Perfect完美,加200分。
G : Great很棒,加100分。
M : Miss错过,不加分也不扣分,但累计三次Miss就会输掉游戏。
另外有一种奖励是连击奖励。一旦连续三个Perfect之后,后续连击的Perfect分数将变成250分,但一旦打出了Great或者Miss则连击数将重新开始计算。
你的任务是根据游戏记录计算分数。特别地,失败记为零分。
现在你在玩一款游戏,叫做节奏小师。它有三种判定
P : Perfect完美,加200分。
G : Great很棒,加100分。
M : Miss错过,不加分也不扣分,但累计三次Miss就会输掉游戏。
另外有一种奖励是连击奖励。一旦连续三个Perfect之后,后续连击的Perfect分数将变成250分,但一旦打出了Great或者Miss则连击数将重新开始计算。
你的任务是根据游戏记录计算分数。特别地,失败记为零分。
一行一个字符串,描述你的游戏记录。
对于前40%数据,保证字符串长度小于等于100
对于100%数据,保证字符串长度小于等于10000
一行一个正整数表示得分
PPPPPGPPMP
1800
import java.util.*; public class Main{ public static void main(String[] args) { Scanner scan = new Scanner(System.in); String str = scan.next(); int score = 0; int perfect = 0; int miss = 0; for (int i = 0; i < str.length(); i++) { char ch = str.charAt(i); if ( ch == 'P') { miss = 0; perfect++; if (perfect <= 3) { score += 200; }else if (perfect > 3) { score += 250; } } else if (ch == 'G') { perfect = 0; miss = 0; score += 100; } else if (ch == 'M') { perfect = 0; miss++; if (miss == 3) { score = 0; break; } } } System.out.println(score); } }