Pagini recente » Cod sursa (job #1785090) | Cod sursa (job #2653168) | Cod sursa (job #2743632) | Cod sursa (job #2901068) | Cod sursa (job #744097)
Cod sursa(job #744097)
#include<stdio.h>
#define NMAX 10005
int n, i, j, v[ NMAX ], t;
int B(int i);
int C(int i);
int B(int i)
{
if(i > n)
return 1;
if(v[i] == 2)
return B(i+1);
if(v[i] == 1 && v[i+2] == 3 && i + 4 <= n)
return C(i+4);
return 0;
}
int C(int i)
{
if(i > n)
return 1;
if(v[i] == 2)
return i+1;
if(v[i] == 1 && v[i+1] == 2 && i + 2 <= n)
return i+3;
if(v[i] != 3)
return 0;
i = B(i+1);
if(i)
return C(i);
return 0;
}
int main()
{
FILE *f = fopen("perle.in", "r");
FILE *g = fopen("perle.out", "w");
fscanf(f, "%d", &t);
while(t)
{
fscanf(f, "%d", &n);
for(i = 1; i <= n; i++)
fscanf(f, "%d", &v[i]);
if(n == 1 || C(1) > n || B(1) > n)
fprintf(g, "%d\n", 1);
else
fprintf(g, "%d\n", 0);
t--;
}
fclose(f);
fclose(g);
return 0;
}