結果

問題 No.3395 Range Flipping Game
コンテスト
ユーザー nasutarou1341
提出日時 2025-12-02 01:52:53
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 603 ms / 2,000 ms
コード長 702 bytes
コンパイル時間 329 ms
コンパイル使用メモリ 82,576 KB
実行使用メモリ 90,964 KB
最終ジャッジ日時 2025-12-02 01:52:59
合計ジャッジ時間 6,112 ms
ジャッジサーバーID
(参考情報)
judge3 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 30
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

def main(N, S):
  if N == 1:
    return "B"
  if N == 2:
    return "BB"
  if S[:2] == list("AA"):
    for i in range(2, N):
      if S[i] == "B": S[i] = "A"
      else: break
    return "BB" + "".join(S[2:])
  if S[:2] == list("AB"):
    flag = False
    for i in range(2, N):
      if S[i] == "B":
        flag = True
        S[i] = "A"
      elif flag:
        break
    return "BB" + "".join(S[2:])
  if S[:2] == list("BA"):
    for i in range(2, N):
      if S[i] == "B": S[i] = "A"
      else: break
    return "BB" + "".join(S[2:])
  if S[:2] == list("BB"):
    return "".join(S)

T = int(input())
for _ in range(T):
  N = int(input())
  S = input()
  S = list(S)
  ans = main(N, S)
  print(ans)
0