CF1834C Game with Reversing
/* 7 5 abcde abxde 5 hello olleo 2 ab cd 7 aaaaaaa abbbbba 1 q q 6 yoyoyo oyoyoy 8 abcdefgh hguedfbh 1 2 3 9 0 2 6 */ #include<cstdio> #include<iostream> #include<bits/stdc++.h> using namespace std; const int maxn=1e5+10; int n,ans1,ans2,ans; char s[maxn],t[maxn]; int main() { int T;cin>>T; while(T--) { ans1=0,ans2=0,ans=0x3f3f3f3f; cin>>n; cin>>s+1>>t+1; for(int i=1;i<=n;i++){ if(s[i]!=t[i]) ans1++; if(s[i]!=t[n+1-i]) ans2++; } if(ans1<=1){ cout<<ans1<<'\n'; continue; } if(ans2<=1){ cout<<2<<'\n'; continue; } if(ans1%2==0) ans=min(ans,2*ans1); else ans=min(ans,2*ans1-1); if(ans2%2==0) ans=min(ans,2*ans2-1); else ans=min(ans,2*ans2); cout<<ans<<'\n'; } }