p14392静音问题
#include<bits/stdc++.h>
using namespace std;
const int N=500005;
char s[N],t[N];
int n,f[N][2];
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
scanf("%s%s",s+1,t+1);
n=strlen(s+1);
for(int i=1;i<=n;++i)
{
s[i]-='0';
t[i]-='0';
}
for(int i=1;i<=n;++i)
{
f[i][0]=f[i][1]=0;
}
for(int i=1;i<=n;++i)
{
if(s[i]==t[i])
{
f[i][0]=f[i-1][0];
f[i][1]=f[i-1][1];
}else{
f[i][0]=f[i][1]=min(f[i-1][0],f[i-1][1])+1;
}
if(s[i]==0&&t[i]==1)
{
f[i][1]=min(f[i][1],f[i-1][0]);
}
if(s[i]==1&&t[i]==0)
{
f[i][0]=min(f[i][0],f[i-1][1]);
}
}
printf("%d\n",min(f[n][0],f[n][1]));
}
return 0;
}