Pagini recente » Cod sursa (job #3183059) | Cod sursa (job #3279485) | Cod sursa (job #707266) | Cod sursa (job #3279755) | Cod sursa (job #3212182)
#include <fstream>
#include <cstring>
using namespace std;
ifstream cin("perle.in");
ofstream cout("perle.out");
int A();
int B();
int C();
int q,n,v[10005],i;
int A()
{
if(i==n+1)
return 0;
else if(v[i]==1||v[i]==2||v[i]==3)
{
i++;
return 1;
}
else
return 0;
}
int 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;
}
int C()
{
if(i==n+1)
return 0;
else if(v[i]==2)
{
i++;
return 1;
}
else if(v[i]==3)
{
i++;
if(B()==0)
return 0;
return C();
}
else if(v[i]==1)
{
i++;
if(v[i]!=2)
return 0;
i++;
return A();
}
else
return 0;
}
int main()
{
cin>>q;
while(q--)
{
cin>>n;
for(int j=1; j<=n; j++)
cin>>v[j];
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';
continue;
}
cout<<0<<'\n';
}
return 0;
}