ZZULIOJ 2450: 棒球游戏

题目如下

http://acm.zzuli.edu.cn/problem.php?id=2450

首先我们先理解下题目

第一行为一个整数T(1 <= T <= 10000),代表>游戏一共有T轮
接下来T行,每行为一个字符,字符可能是[0, 9]范围内的数字,也可能是'C'或'D'
如果字符是数字,代表本轮Wonter获得的分数
如果字符是'D',代表本轮Wonter的分数会翻倍
如果字符是'C',代表本轮Wonter的分数被清零
我们可以先设置一个变量为0 使用字符串来识别输入的数据
如果是1-9之间的我们直接加上对应的数
否则根据题目 翻倍或者清零

JAVA代码如下

import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        int f = 0;
        int t = s.nextInt();
        while (true) {
            if(t == 0) {
                break;
            }
            t -= 1;
            String sc = s.next();
            char l = sc.charAt(0);
            if (l == '0') {
                f += 0;
            }
            if (l == '1') {
                f += 1;
            }
            if (l == '2') {
                f += 2;
            }
            if (l == '3') {
                f += 3;
            }
            if (l == '4') {
                f += 4;
            }
            if (l == '5') {
                f += 5;
            }
            if (l == '6') {
                f += 6;
            }
            if (l == '7') {
                f += 7;
            }
            if (l == '8') {
                f += 8;
            }
            if (l == '9') {
                f += 9;
            }
            if (l == 'D') {
                f *= 2;
            }
            if (l == 'C') {
                f = 0;
            }
}
        System.out.print(f);
    }
}

Python代码如下

n = int(input())
c = 0
while True:
    if n == 0:
        break
    n -= 1
    p = input()
    if p == '0' or p == '1' or p == '2' or p == '3' or p == '4' or p == '5' or p == '6' or p == '7' or p == '8'or p == '9':
        c += int(p)
    elif p == 'D':
        c *= 2
    elif p == 'C':
        c = 0
print(c)         

你可能感兴趣的:(ZZULIOJ 2450: 棒球游戏)