为什么这都没RE(横纵坐标设反了)
#include <bits/stdc++.h>
using namespace std;
bool a[100007][4];
int n;
bool vis[100007][4];
int main()
{
int t;
cin>>t;
for(register int ii=1;ii<=t;++ii)
{
cin>>n;
int hjs=0;
for(register int i=1;i<=2;++i)
{
for(register int j=1;j<=n;++j)
{
char c=getchar();
while(c<'0'||c>'9')
c=getchar();
a[i][j]=c-'0';
if(a[i][j]==1)
{
++hjs;
}
vis[i][j]=a[i][j];
}
}
if(hjs>n)
{
cout<<"++"<<endl;
continue;
}
bool b=0;
if(n==1)
{
cout<<"RP"<<endl;
continue;
}
for(int i=1;i<=n;++i)
{
if(a[1][i]==1)
{
if(i!=1)
{
if(!vis[2][i])
{
vis[2][i]=1;
}
else if(!vis[1][i-1])
{
vis[1][i-1]=1;
}
else if(!vis[1][i+1])
{
vis[1][i+1]=1;
}
else
{
b=1;
break;
}
}
else
{
if(!vis[1][i+1])
{
vis[1][i+1]=1;
}
else if(!vis[2][i])
{
vis[2][i]=1;
}
else
{
b=1;
break;
}
}
}
if(a[2][i]==1)
{
if(i!=1)
{
if(!vis[1][i])
{
vis[1][i]=1;
}
else if(!vis[2][i-1])
{
vis[2][i-1]=1;
}
else if(!vis[2][i+1])
{
vis[2][i+1]=1;
}
else
{
b=1;
break;
}
}
else
{
if(!vis[2][i+1])
{
vis[2][i+1]=1;
}
else if(!vis[1][i])
{
vis[1][i]=1;
}
else
{
b=1;
break;
}
}
}
}
if(b==1)
{
cout<<"++"<<endl;
}
else
{
cout<<"RP"<<endl;
}
}
}