Pagini recente » Cod sursa (job #184405) | Cod sursa (job #2484528) | Cod sursa (job #2529552) | Cod sursa (job #1109730) | Cod sursa (job #892052)
Cod sursa(job #892052)
#include <cstdio>
using namespace std;
int b(int);
int c(int);
int m,a[10010],n;
int b(int i)
{
if(i<=m)
{
if(a[i]==2)return b(i+1);else
if(a[i]==1&&a[i+2]==3)return c(i+4);
}
return -1;
}
int c(int i)
{
if(i<=m)
{
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 -1;
}
int main()
{
int i,j;
FILE *f=fopen("perle.in","r");
FILE *g=fopen("perle.out","w");
fscanf(f,"%d",&n);
for(j=1;j<=n;j++)
{
fscanf(f,"%d",&m);
for(i=1;i<=m;i++)fscanf(f,"%d",&a[i]);
if(m==1||b(1)==m||c(1)==m) fprintf(g,"1\n");else fprintf(g,"0\n");
}
fclose(f);
fclose(g);
return 0;
}