結果
問題 | No.2278 Time Bomb Game 2 |
ユーザー | sotanishy |
提出日時 | 2023-04-21 22:32:53 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 58 ms / 2,000 ms |
コード長 | 1,195 bytes |
コンパイル時間 | 367 ms |
コンパイル使用メモリ | 81,920 KB |
実行使用メモリ | 71,424 KB |
最終ジャッジ日時 | 2024-11-06 17:06:06 |
合計ジャッジ時間 | 5,959 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 70 |
ソースコード
import sys input = sys.stdin.readline N, K, T = map(int, input().split()) c = list(input().rstrip()) K -= 1 flip = False if c[K] == 'B': flip = True c = ['B' if x == 'A' else 'A' for x in c] def answer(ans): if ans == 0: print("Alice" if not flip else "Bob") else: print("Bob" if not flip else "Alice") dist = [] for i in range(K+1, N): if i-K > T: break if c[i] == 'B': dist.append(i - K) break for i in range(K)[::-1]: if K-i > T: break if c[i] == 'B': dist.append(K - i) break if not dist: answer(1) exit() if max(dist) > 1: if any(T % 2 == d % 2 for d in dist): answer(0) else: answer(1) else: if T % 2 == 0: answer(1) else: if T == 1: answer(0) else: # check right i = K+1 while i < N and c[i] == 'B': i += 1 right = i-(K+1) <= T-1 and (i-(K+1)) % 2 == 0 i = K-1 while i >= 0 and c[i] == 'B': i -= 1 left = (K-1)-i <= T-1 and ((K-1)-i) % 2 == 0 answer(1 if left and right else 0)