結果

問題 No.2018 X-Y-X
ユーザー Kiri8128
提出日時 2022-05-04 00:31:26
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 1,040 bytes
コンパイル時間 156 ms
コンパイル使用メモリ 82,396 KB
実行使用メモリ 79,792 KB
最終ジャッジ日時 2024-07-03 19:20:12
合計ジャッジ時間 4,439 ms
ジャッジサーバーID
(参考情報)
judge5 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
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, rmlrm, lmlrm,lrmlrm = 0, inf, inf, inf, inf, inf, inf, inf, inf
for i in range(1, N - 1):
    nnull, nm, nlm, nrm, nlrm, nmlrm, nrmlrm, nlmlrm, nlrmlrm = inf, inf, inf, 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, rmlrm, lrmlrm) + 2
            nlrmlrm = min(mlrm, lmlrm) + 2
        else:
            nrmlrm = min(rm, lrm, rmlrm, lrmlrm) + 2
            nlmlrm = min(mlrm, lmlrm) + 2
    else:
        if S[i-1] == S[i+1]:
            nm = min(null, rm, lrm) + 1
            nlrm = min(m, lm, mlrm, lmlrm) + 1
        else:
            nlm = min(m, lm, mlrm, lmlrm) + 1
            nrm = min(null, rm, lrm) + 1
    null, m, lm, rm, lrm, mlrm, rmlrm, lmlrm, lrmlrm = nnull, nm, nlm, nrm, nlrm, nmlrm, nrmlrm, nlmlrm, nlrmlrm
ans = min((null, m, lm))
print(ans if ans < inf else -1)
0