結果
問題 |
No.2209 Flip and Reverse
|
ユーザー |
![]() |
提出日時 | 2023-02-10 21:34:29 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 593 ms / 2,000 ms |
コード長 | 1,130 bytes |
コンパイル時間 | 81 ms |
コンパイル使用メモリ | 12,800 KB |
実行使用メモリ | 36,960 KB |
最終ジャッジ日時 | 2024-07-07 15:45:05 |
合計ジャッジ時間 | 14,257 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 30 |
ソースコード
import sys #input = sys.stdin.readline #input = sys.stdin.buffer.readline #文字列はダメ #sys.setrecursionlimit(1000000) #import math import bisect #import itertools #import random #from heapq import heapify, heappop, heappush from collections import defaultdict from collections import deque #import copy #DeepCopy: hoge = [_[:] for _ in hogehoge] #from functools import lru_cache #@lru_cache(maxsize=None) #MOD = pow(10,9) + 7 MOD = 998244353 dx = [1,0,-1,0] dy = [0,1,0,-1] #dx8 = [1,1,0,-1,-1,-1,0,1] #dy8 = [0,1,1,1,0,-1,-1,-1] def main(): N = int(input()); INF = 1 << 60 S = list(str(input())) S = [int(a) for a in S] T = list(str(input())) T = [int(a) for a in T] ans = INF #偶数回で一致するときに必要な変更箇所 en = 0 for s,t in zip(S,T): if s != t: en += 1 #奇数回で一致するときに必要な変更箇所 on = 0 for i in range(N): if S[i] != T[N-1-i]: on += 1 if en%2 == 0: ans = min(ans,en) if on%2 == 1: ans = min(ans,on) print(ans) if __name__ == '__main__': main()