Pagini recente » Cod sursa (job #2678119) | Cod sursa (job #1429777) | Cod sursa (job #2177510) | Cod sursa (job #870256) | Cod sursa (job #893787)
Cod sursa(job #893787)
#include <cstdio>
using namespace std;
int a[100],n,l,i,j,k;FILE *f,*g;
int c(int);
int b(int);
int c (int i)
{
if (i<=l)
{
if (a[i]==2) return i;
else
if (a[i]==3) return c(b(i+1)+1);
else
if (a[i]==1 && a[i+1]==2) return i+2;
}
return 0;
}
int b( int i)
{
if (i<=l)
{
if (a[i]==2) return b(i+1);
else
if (a[i]==1 && a[i+2]==3) return c(i+4);
}
return 0;
}
int main()
{ f=fopen ("perle.in","r");
g=fopen ("perle.out","w");
fscanf (f,"%d",&n);
for (k=1;k<=n;k++)
{
fscanf (f,"%d",&l);
for (j=1;j<=l;j++) fscanf (f,"%d",&a[j]);
if (l==1) fprintf (g,"%d\n",1);
else if (b(1)==l || c(1)==l) fprintf (g,"%d\n",1);
else fprintf (g,"%d\n",0);
}
return 0;
}