权威 • 14天前
#include<bits/stdc++.h>
using namespace std;
int n,t;
string s1,s2,t1,t2;
int z,o,z2,o2,cnt;
int main(){
cin>>t;
while(t--){
cin>>n>>s1>>s2>>t1>>t2;
z=z2=o=o2=cnt=0;
for(int i=0,j=0;i<n||j<n;){
if(z+o==0){
if(t1[i]=='0'){
if(s1[i]=='0') z++;
else o++;
i++;
}else{
while(t1[i]=='1'){
if(s1[i]==0) z++;
else o++;
i++;
}
}
}
if(z2+o2==0){
if(t2[j]=='0'){
if(s2[j]=='0') z2++;
else o2++;
j++;
}else{
while(t2[i]=='1'){
if(s2[i]==0) z2++;
else o2++;
j++;
}
}
}
int x=min(o,o2);
int y=min(z,z2);
cnt+=x+y ;
o-=x;o2-=x;
z-=y;z2-=y;
int e=min(o,z2);
o-=e;z2-=e;
e=min(z,o2);
z-=e;o2-=e;
}
cout<<cnt<<endl;
}
return 0;
}
评论:
请先登录,才能进行评论