結果

問題 No.2018 X-Y-X
ユーザー Kiri8128
提出日時 2022-05-03 23:24:05
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 708 bytes
コンパイル時間 317 ms
コンパイル使用メモリ 82,436 KB
実行使用メモリ 80,068 KB
最終ジャッジ日時 2024-07-03 19:20:16
合計ジャッジ時間 3,546 ms
ジャッジサーバーID
(参考情報)
judge1 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 7 WA * 24
権限があれば一括ダウンロードができます

ソースコード

diff #

N = int(input())
S = [ord(a) - 65 for a in input()]
T = [ord(a) - 65 for a in input()]
inf = 10 ** 9
null, m, lm, rm, lrm, mlrm = 0, inf, inf, inf, inf, inf

for i in range(1, N - 1):
    nnull, nm, nlm, nrm, nlrm, nmlrm = inf, inf, inf, inf, inf, inf
    if S[i] == T[i]:
        nnull = min(null, m, lm)
        if S[i-1] == S[i+1]:
            nmlrm = min(rm, lrm) + 2
    else:
        if S[i-1] == S[i+1]:
            nm = min(null, rm, lrm) + 1
            nlrm = min(m, lm, mlrm) + 1
        else:
            nlm = min(m, lm, mlrm) + 1
            nrm = min(null, rm, lrm) + 1
    null, m, lm, rm, lrm, mlrm = nnull, nm, nlm, nrm, nlrm, nmlrm

ans = min((null, m, lm))
print(ans if ans < inf else -1)
0