結果
| 問題 |
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 |
ソースコード
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)
lam6er