結果

問題 No.2018 X-Y-X
ユーザー 👑 SPD_9X2
提出日時 2022-07-22 23:02:25
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 1,233 bytes
コンパイル時間 155 ms
コンパイル使用メモリ 82,956 KB
実行使用メモリ 106,024 KB
最終ジャッジ日時 2024-07-04 07:38:24
合計ジャッジ時間 4,329 ms
ジャッジサーバーID
(参考情報)
judge4 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 7 WA * 24
権限があれば一括ダウンロードができます

ソースコード

diff #
プレゼンテーションモードにする

"""
2018:
A?A,B?B
"""
import sys
from sys import stdin
def change(l,r,L,R):
ll = min(l,L)
rr = max(r,R)
d = r-l+1
D = R-L+1
dd = rr-ll+1
return dd*2 - d - D
def getone(lis):
ret = []
for i in range(N):
if lis[i] == 1:
if len(ret) == 0 or ret[-1][1]+1 != i:
ret.append( [i,i] )
else:
ret[-1][1] += 1
return ret
N = int(stdin.readline())
S = list(stdin.readline()[:-1])
T = list(stdin.readline()[:-1])
for i in range(N):
if S[i] == "A":
S[i] = 0
else:
S[i] = 1
for i in range(N):
if T[i] == "A":
T[i] = 0
else:
T[i] = 1
if S[0] != T[0] or S[-1] != T[-1]:
print (-1)
sys.exit()
S01 = 0
T01 = 0
for i in range(N-1):
if S[i] == 0 and S[i+1] == 1:
S01 += 1
if T[i] == 0 and T[i+1] == 1:
T01 += 1
if S01 != T01:
print (-1)
sys.exit()
SG = getone(S)
TG = getone(T)
ans = 0
for i in range(len(SG)):
ans += change(SG[i][0],SG[i][1],TG[i][0],TG[i][1])
print (ans)
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0