#include<bits/stdc++.h>
#define N 10005
using namespace std;
int t,n,h[N][N];
char f[N][N];
int main(){
h[0][0]=1;
cin>>t;
for(int i=0;i<t;i++){
cin>>n;
for(int j=1;j<=2;j++)
for(int k=1;k<=n;k++)
cin>>f[j][k];
for(int j=1;j<=n;j++){
for(int k=1;k<=2;k++){
if(h[j-1][k-1]==1||h[j-1][k]==1||h[j][k-1]==1||h[j-1][k+1]==1)
if(f[j][k]=='0') h[j][k]=1;
}
}
/*for(int j=1;j<=2;j++){
for(int k=1;k<=n;k++) cout<<h[j][k];
cout<<endl;
}*/
if(h[2][n]==1) cout<<"YES"<<endl;
else cout<<"NO"<<endl;
}
return 0;
}
最后一行的判断总是有问题 请在场的大佬帮我查下错 谢谢