Pagini recente » Cod sursa (job #910074) | Cod sursa (job #2689656) | Cod sursa (job #3153628) | Cod sursa (job #2138398) | Cod sursa (job #555960)
Cod sursa(job #555960)
#include <stdio.h>
#include <string.h>
int N,T,i,ok,ind;
int v[10001];
inline void B();
inline void C();
inline void B()
{
if(v[ind]==1)
{
if(v[ind+2]!=3)
{
ok=0;
return;
}
ind+=4;
C();
}
else
if(v[ind]==2)
{
ind++;
B();
}
else
if(v[ind]==3)
{
ok=0;
return;
}
}
inline void C()
{
if(v[ind]==1)
{
if(v[ind+1]!=2)
{
ok=0;
return;
}
ind+=3;
}
else
if(v[ind]==2) ind++;
else
if(v[ind]==3)
{
ind++;
B();
C();
}
}
int main()
{
freopen("perle.in","r",stdin);
freopen("perle.out","w",stdout);
scanf("%d",&T);
for(;T>0;T--)
{
scanf("%d",&N);
memset(v,0,sizeof(v));
for(i=0;i<N;i++) scanf("%d",&v[i]);
if(N==1) printf("1\n");
else
if(N==2) printf("0\n");
else
if(N==3)
{
if(v[0]!=1) printf("0\n");
else
if(v[1]!=2) printf("0\n");
else
printf("1\n");
}
else
{
ind=0;
ok=1;
N--;
if(v[0]==1) B();
else
if(v[0]==2) B();
else
if(v[0]==3) C();
if(ok) printf("1\n");
else printf("0\n");
}
}
return 0;
}