Pagini recente » Cod sursa (job #3209873) | Cod sursa (job #789665) | Cod sursa (job #3149735) | Cod sursa (job #609013) | Cod sursa (job #674522)
Cod sursa(job #674522)
#include<stdio.h>
FILE *f , *g ;
int n , l , v[10010] , k , u;
bool sw = 1;
void citire();
int solve();
void C(int i);
void B(int i);
int main()
{
f=fopen("perle.in" , "r" );
g=fopen("perle.out" , "w" );
fscanf(f , "%d" , &n );
for(int i = 1 ; i<= n ; ++i )
{
sw = 1;
citire();
if(l == 1)
fprintf(g , "1\n");
else
if(l == 2)
fprintf(g , "0\n");
else
if(l == 3 && v[1] == 1 && v[2] == 2)
fprintf(g , "1\n");
else
fprintf(g , "%d\n" , solve());
}
fclose(f);
fclose(g);
}
int solve()
{
if(v[1] == 1 || v[1] == 2)
B(1);
else
C(1);
return sw;
}
void B(int i)
{
while(v[i] == 2)
i++;
if(v[i] == 1 && v[i+2] == 3)
C(i+4);
else
sw = 0;
}
void C(int i)
{
if(v[i] == 1 && v[i+1] == 2)
u = i+3;
else
if(v[i] == 3)
{
B(i+1);
C(u);
}
else
sw = 0;
}
void citire()
{
fscanf(f , "%d" , &l);
for(int i = 1 ; i <= l ; ++i )
fscanf(f , "%d" , &v[i] );
}