結果
問題 | No.2278 Time Bomb Game 2 |
ユーザー |
![]() |
提出日時 | 2023-04-21 22:21:05 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 1,157 bytes |
コンパイル時間 | 262 ms |
コンパイル使用メモリ | 82,048 KB |
実行使用メモリ | 76,800 KB |
最終ジャッジ日時 | 2024-11-06 17:05:21 |
合計ジャッジ時間 | 6,156 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 69 WA * 1 |
ソースコード
n,k,t = map(int,input().split()) c = input() # 片方しかない if 'A' not in c: print("Alice") exit() if 'B' not in c: print("Bob") exit() # 長さ偶数に到達させてはならない rl = [] moji = "" cnt = 0 for i in range(n): if moji != c[i]: if cnt > 0: rl.append((moji,cnt)) cnt = 1 moji = c[i] else: cnt += 1 if cnt > 0: rl.append((moji, cnt)) m = len(rl) v = 0 ind = -1 indi = -1 for i in range(m): v += rl[i][1] if v >= k: v -= rl[i][1] indi = i ind = k-v-1 break mindist = 10 ** 9 if indi >= 1: mindist = min(mindist, ind + 1) if indi < m-1: mindist = min(mindist, rl[indi][1] - ind) # 到達不能! if mindist > t: if rl[indi][0] == "A": print("Bob") else: print("Alice") exit() if indi >= 1: # 左側でしめれる if ind + 1 <= t and (t-(ind+1)) % 2 == 0: if rl[indi][0] == "A": print("Alice") else: print("Bob") exit() if indi < m-1: # 右側でしめれる if rl[indi][1] - ind <= t and (t-(rl[indi][1] - ind)) % 2 == 0: if rl[indi][0] == "A": print("Alice") else: print("Bob") exit() # 無理 if rl[indi][0] == "A": print("Bob") else: print("Alice") exit()