結果
| 問題 | 
                            No.2018 X-Y-X
                             | 
                    
| コンテスト | |
| ユーザー | 
                             asumo0729
                         | 
                    
| 提出日時 | 2022-08-03 22:32:22 | 
| 言語 | PyPy3  (7.3.15)  | 
                    
| 結果 | 
                             
                                AC
                                 
                             
                            
                         | 
                    
| 実行時間 | 145 ms / 2,000 ms | 
| コード長 | 718 bytes | 
| コンパイル時間 | 227 ms | 
| コンパイル使用メモリ | 81,860 KB | 
| 実行使用メモリ | 142,932 KB | 
| 最終ジャッジ日時 | 2024-09-13 16:49:10 | 
| 合計ジャッジ時間 | 4,619 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge3 / judge5 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 2 | 
| other | AC * 31 | 
ソースコード
N = int(input())
S = input()
T = input()
S_ = []; T_ = []
if not (S[0] == T[0] and S[-1] == T[-1]):
    print(-1)
    exit()
for i in range(N):
    s = 1 if S[i] == 'A' else 0
    t = 1 if T[i] == 'A' else 0
    S_.append(s); T_.append(t)
S_diff = []; T_diff = []
for i in range(N - 1):
    s = S_[i] ^ S_[i + 1]
    t = T_[i] ^ T_[i + 1]
    S_diff.append(s); T_diff.append(t)
S_inv = []; T_inv = []
for i in range(N - 1):
    if i & 1:
        S_diff[i] = 1 - S_diff[i]
        T_diff[i] = 1 - T_diff[i]
    if S_diff[i] == 1:
        S_inv.append(i)
    if T_diff[i] == 1:
        T_inv.append(i)
if len(S_inv) != len(T_inv):
    print(-1)
    exit()
print(sum([abs(s - t) for s, t in zip(S_inv, T_inv)]))
exit()
            
            
            
        
            
asumo0729