Pagini recente » Cod sursa (job #846897) | Cod sursa (job #2913626) | Cod sursa (job #689196) | Cod sursa (job #3250039) | Cod sursa (job #475867)
Cod sursa(job #475867)
#include<stdio.h>
#include<string.h>
int v[10017],t,n;
int C(int poz);
int B(int poz)
{
if(poz>n)
return 0;
if(poz<n && v[poz]==2)
return B(poz+1);
if(poz+3<n && v[poz]==1 && v[poz+2]==3)
return C(poz+4);
return 0;
}
int C(int poz)
{
if(v[poz]==2)
return poz+1;
if(poz+1<n && v[poz]==1 && v[poz+1]==2)
return poz+3;
if(v[poz]==3)
{
int val=B(poz+1);
if(!val || val==n+1)
return 0;
return C(val);
}
return 0;
}
int main ()
{
int i;
freopen("perle.in","r",stdin);
freopen("perle.out","w",stdout);
scanf("%d",&t);
for(;t;t--)
{
memset(v,0,sizeof(v));
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%d",&v[i]);
if(n==1)
{
printf("1\n");
continue;
}
if(B(1)>n)
{
printf("1\n");
continue;
}
if(C(1)>n)
{
printf("1\n");
continue;
}
printf("0\n");
}
return 0;
}