#33083: 跑壘策略


uhong0628@gmail.com (豬哥亮還沒死)

學校 : 國立雲林科技大學
編號 : 204499
來源 : [27.247.68.153]
最後登入時間 :
2024-11-08 20:57:15
c297. APCS-2016-1029-4棒球遊戲 -- 2016年10月APCS | From: [182.234.153.14] | 發表日期 : 2022-11-28 23:47

用Python寫的,可以把跑壘當作佇列,跑到本壘就pop,HR就clear,實測AC通過

while True:    
    try:
        players = []
        for _ in range(9):
            players.append(list(input().split()))
        b = int(input())

        count = 0
        base = []
        points = 0
        k = 1
        while count != b:
            for i in range(9):
                if players[i][k][1] != "B":
                    if players[i][k] == "HR":
                        points += len(base) + 1
                        base.clear()
                        continue
                    count += 1
                    if count % 3 == 0:
                        base.clear()
                    if count == b:
                        break
                else:
                    go = players[i][k][0]
                    go = int(go)
                    base = [i+go for i in base]
                    popCount = 0
                    for runner in base:
                        if runner > 3:
                            popCount += 1
                            points += 1
                    for pc in range(popCount):
                        base.pop(0)
                    base.append(go)
            k += 1
        print(points)
    except:
        break
 
ZeroJudge Forum