結果
| 問題 |
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)
sotanishy