Pagini recente » Cod sursa (job #1077876) | Cod sursa (job #997076) | Cod sursa (job #2234564) | Cod sursa (job #1055979) | Cod sursa (job #825542)
Cod sursa(job #825542)
//Include
#include <stdio.h>
using namespace std;
//Variabile
FILE *in,*out;
#define MAX 10005
int nr,n,v[MAX];
int b(int poz);
int c(int poz);
int b(int poz)
{
if(poz>n)
return -1;
if(v[poz] == 2)
return b(poz+1);
if(v[poz] == 1 && v[poz+2] == 3)
return c(poz+4);
return -1;
}
int c(int poz)
{
if(poz>n)
return -1;
if(v[poz]==2)
return poz+1;
if(v[poz]==1 && v[poz+1]==2)
return poz+3;
if(v[poz]==3)
return c(b(poz+1));
return -1;
}
int main(void)
{
in=fopen("perle.in","rt");
out=fopen("perle.out","wt");
fscanf(in,"%d",&nr);
for(int i=1;i<=nr;++i)
{
fscanf(in,"%d",&n);
for(int j=1;j<=n;++j)
fscanf(in,"%d",&v[j]);
if(n==1)
fprintf(out,"1\n");
else fprintf(out,"%d\n",(b(1)==n+1 || c(1)==n+1 ? 1: 0));
}
fclose(in);
fclose(out);
return 0;
}
//Ce stil are ->