Pagini recente » Cod sursa (job #2121149) | Cod sursa (job #1497519) | Cod sursa (job #2477683) | Cod sursa (job #3275314) | Cod sursa (job #3266244)
#include <fstream>
using namespace std;
ifstream cin("perle.in");
ofstream cout("perle.out");
int A();
int B();
int C();
int T,i,n,v[10005];
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>>T;
while(T--)
{
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;
}