NC227309. 牛牛冲钻五
描述
输入描述
第一行输入一个整数,测试组数。
每个测试的第一行输入两个整数和,牛牛共打了几场比赛与连胜奖励的星数。
接下来一行输入一个长为的字符串,之中表示获胜,表示失败,保证只含有这两种字母。
保证所有用例的。
输出描述
对每个测试用例,输出一个整数,表示牛牛最终的星数和初始星数的差。
示例1
输入:
2 5 3 WWWLW 5 3 WLLLL
输出:
5 -3
Python3 解法, 执行用时: 146ms, 内存消耗: 4792K, 提交时间: 2023-08-11 11:38:48
for _ in range(int(input())): n, k = map(int, input().split()) s, r = input(), 0 for i in range(n): if s[i] == 'W': r += k if s[i-2:i] == 'WW'else 1 else:r -= 1 print(r)
Java 解法, 执行用时: 478ms, 内存消耗: 20816K, 提交时间: 2023-08-11 11:37:02
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n=sc.nextInt(); while(n-->0) { int a=sc.nextInt(); int b=sc.nextInt(); String c=sc.next(); int sum=0,w=0; for(int i=0;i<a;i++) { if(c.charAt(i)=='W') { w++; if(w>=3)sum+=b; else sum++; } else { w=0; sum--; } } System.out.println(sum); } } }