結果

問題 No.2018 X-Y-X
ユーザー lam6er
提出日時 2025-03-31 17:52:11
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 972 bytes
コンパイル時間 359 ms
コンパイル使用メモリ 82,460 KB
実行使用メモリ 94,376 KB
最終ジャッジ日時 2025-03-31 17:52:39
合計ジャッジ時間 3,814 ms
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 9 WA * 22
権限があれば一括ダウンロードができます

ソースコード

diff #

import sys

n = int(sys.stdin.readline())
s = list(sys.stdin.readline().strip())
t = list(sys.stdin.readline().strip())

if s[0] != t[0] or s[-1] != t[-1]:
    print(-1)
    sys.exit()

count = 0

for j in range(1, n - 1):
    if s[j] == t[j]:
        continue
    # Need to flip s[j]
    left = s[j-1]
    right = s[j+1]
    if left == right:
        s[j] = 'B' if s[j] == 'A' else 'A'
        count += 1
    else:
        if j + 2 >= n:
            print(-1)
            sys.exit()
        if s[j] != s[j + 2]:
            print(-1)
            sys.exit()
        # Flip j+1
        s[j + 1] = 'B' if s[j + 1] == 'A' else 'A'
        count += 1
        # Check new right
        new_right = s[j + 1]
        if left == new_right:
            s[j] = 'B' if s[j] == 'A' else 'A'
            count += 1
        else:
            print(-1)
            sys.exit()

# Final check to ensure all characters match
if ''.join(s) == ''.join(t):
    print(count)
else:
    print(-1)
0