結果
問題 | No.2018 X-Y-X |
ユーザー |
👑 ![]() |
提出日時 | 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 |
ソースコード
"""2018:基本的に可逆端は不変最初と最後に、A?A,B?Bが或るのは必須反転しなければ行けない箇所に色を付けよう"""import sysfrom sys import stdindef change(l,r,L,R):ll = min(l,L)rr = max(r,R)d = r-l+1D = R-L+1dd = rr-ll+1return dd*2 - d - Ddef 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] += 1return retN = int(stdin.readline())S = list(stdin.readline()[:-1])T = list(stdin.readline()[:-1])for i in range(N):if S[i] == "A":S[i] = 0else:S[i] = 1for i in range(N):if T[i] == "A":T[i] = 0else:T[i] = 1if S[0] != T[0] or S[-1] != T[-1]:print (-1)sys.exit()S01 = 0T01 = 0for i in range(N-1):if S[i] == 0 and S[i+1] == 1:S01 += 1if T[i] == 0 and T[i+1] == 1:T01 += 1if S01 != T01:print (-1)sys.exit()SG = getone(S)TG = getone(T)ans = 0for i in range(len(SG)):ans += change(SG[i][0],SG[i][1],TG[i][0],TG[i][1])print (ans)