Pagini recente » Cod sursa (job #585819) | Cod sursa (job #556125) | Cod sursa (job #1074470) | Cod sursa (job #373493) | Cod sursa (job #3139143)
#include <fstream>
#include <cstring>
using namespace std;
ifstream cin("perle.in");
ofstream cout("perle.out");
int n,i,j,v[10005],m,x;
bool a();
bool b();
bool c();
bool a()
{
if(i==n+1)
return 0;
else
if(v[i]==1 || v[i]==2 || v[i]==3)
{
i++;
return 1;
}
else
return 0;
}
bool b()
{
if(i==n+1)
return 0;
else
if(v[i]==2)
{
i++;
return b();
}
else
if(v[i]==1)
{
i++;
if(a()==0)
return 0;
if(v[i]!=3)
return 0;
i++;
if(a()==0)
return 0;
return c();
}
else
return 0;
}
bool c()
{
if(i==n+1)
return 0;
else
if(v[i]==2)
{
i++;
return 1;
}
else
if(v[i]==1)
{
i++;
if(v[i]!=2)
{
i++;
return 0;
}
else
{
i++;
return a();
}
}
else
if(v[i]==3)
{
i++;
if(b()==0)
return 0;
return c();
}
}
int main()
{
cin>>m;
for(j=1;j<=m;j++)
{
cin>>n;
for(i=1;i<=n;i++)
cin>>v[i];
i=1;
if(a()==1 &&i==n+1)
{
cout<<1<<'\n';
continue;
}
i=1;
if(b()==1 &&i==n+1)
{
cout<<1<<'\n';
continue;
}
i=1;
if(c()==1 &&i==n+1)
{
cout<<1<<'\n';
}
else
cout<<0<<'\n';
}
return 0;
}