Pagini recente » Cod sursa (job #1463148) | Cod sursa (job #2573757) | Cod sursa (job #1855365) | Cod sursa (job #860754) | Cod sursa (job #883333)
Cod sursa(job #883333)
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
FILE *fin=fopen("perle.in", "r"), *fout=fopen("perle.out", "w");
int n, nr, i, j, sw;
int v[10002];
int B(int i);
int C(int i);
int B(int i)
{
if(i<=nr)
{
if(v[i]==1&&v[i+2]==3)
return C(i+4);
else if(v[i]==2)
return B(i+1);
}
return i;
}
int C(int i)
{
if(i<=nr)
{
if(v[i]==2)
return i;
else if(v[i]==3)
{
return B(i+1);
return C(i+3);
}
else if(v[i]==1&&v[i+1]==2)
return i+2;
}
return i;
}
int main()
{
fscanf(fin, "%d", &n);
for(i=1;i<=n;i++)
{
fscanf(fin, "%d", &nr);
for(j=1;j<=nr;j++)
fscanf(fin, "%d", &v[j]);
if(nr==1)
fprintf(fout, "1\n");
else
{
sw=(B(1)==nr)||(C(1)==nr);
fprintf(fout, "%d\n", sw);
}
}
return 0;
}