CF1234C.Pipes
思路:
1,2是一类,所在行前进1;3,4,5,6是一类,改变所在列,所以模拟过程,看看最后是不是在第二行。
代码:
#include<bits/stdc++.h>
const int N=1e6+10;
const int mod=1e7+9;
const int maxn=0x3f3f3f3f;
const int minn=0xc0c0c0c0;
const int inf=99999999;
using namespace std;
string s[2];
int n;
void solve()
{
int l=0,i;
for(i=0;i<n;i++)
{
if(s[l][i]=='1' || s[l][i]=='2')
continue;
if(s[l^1][i]>='3' && s[l^1][i]<='6')
l^=1;
else
{
cout<<"No"<<endl;
return;
}
}
if(l==1)
cout<<"Yes"<<endl;
else
cout<<"No"<<endl;
return;
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);cout.tie(0);
int q;
cin>>q;
while(q--)
{
cin>>n>>s[0]>>s[1];
solve();
}
return 0;
}