結果

問題 No.2278 Time Bomb Game 2
ユーザー tamato
提出日時 2023-04-21 22:33:55
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 71 ms / 2,000 ms
コード長 1,938 bytes
コンパイル時間 455 ms
コンパイル使用メモリ 81,924 KB
実行使用メモリ 90,016 KB
最終ジャッジ日時 2024-11-06 17:06:25
合計ジャッジ時間 5,989 ms
ジャッジサーバーID
(参考情報)
judge5 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 70
権限があれば一括ダウンロードができます

ソースコード

diff #

import sys
input = sys.stdin.readline
mod = 998244353

N, K, T = map(int, input().split())
C = input().rstrip('\n')

K -= 1
flg = 0
if C[K] == "B":
    C_new = []
    for c in C:
        if c == "A":
            C_new.append("B")
        else:
            C_new.append("A")
    C = "".join(C_new)
    flg = 1
C = C[max(0, K - T): min(N, K + T + 1)]
K = min(K, T)

exist_adj = 0
if K:
    if C[K - 1] == "A":
        exist_adj = 1
if K + 1 < len(C):
    if C[K + 1] == "A":
        exist_adj = 1

if not exist_adj:
    if K & 1 == (K - T) & 1:
        ans = 0
    else:
        if T == 1:
            ans = 1
        else:
            ans = 1
            # left
            A_win = 0
            if K:
                A_win += 1
                if K - 2 >= 0:
                    if C[K - 2] == "B":
                        for i in range(K - 3, -1, -1):
                            if C[i] == "A":
                                if i & 1 == (K - T) & 1:
                                    A_win -= 1
                                break
            # right
            if K + 1 < len(C):
                A_win += 1
                if K + 2 < len(C):
                    if C[K + 2] == "B":
                        for i in range(K + 3, len(C)):
                            if C[i] == "A":
                                if i & 1 == (K - T) & 1:
                                    A_win -= 1
                                break
            if A_win:
                ans = 1
            else:
                ans = 0
else:
    ok = 0
    for i in range(K - 1, -1, -1):
        if C[i] == "B":
            if i & 1 == (K - T) & 1:
                ok = 1
            break
    for i in range(K + 1, len(C)):
        if C[i] == "B":
            if i & 1 == (K - T) & 1:
                ok = 1
            break
    if ok:
        ans = 1
    else:
        ans = 0

if flg:
    ans ^= 1
if ans:
    print("Alice")
else:
    print("Bob")
0