Pagini recente » Cod sursa (job #1425805) | Cod sursa (job #2791662) | Cod sursa (job #1227604) | Cod sursa (job #768288) | Cod sursa (job #2941682)
#include <stdio.h>
#define NMAX 10000
int v[NMAX];
int c( int i );
int b( int i ) {
if ( v[i] == 2 )
return b( i + 1 );
if ( v[i] == 1 && v[i + 2] == 3 )
return c( i + 4 );
return 0;
}
int c( int i ) {
if ( v[i] == 2 )
return i + 1;
if ( v[i] == 3 )
return c( b( i + 1 ) );
if ( v[i] == 1 && v[i + 1] == 2 )
return i + 3;
return 0;
}
int main() {
FILE *fin, *fout;
int q, n, i, j;
fin = fopen( "perle.in", "r" );
fout = fopen( "perle.out", "w" );
fscanf( fin, "%d", &q );
for ( i = 0; i < q; i++ ) {
fscanf( fin, "%d", &n );
for ( j = 0; j < n; j++ )
fscanf( fin, "%d", &v[j] );
if ( n == 1 || b( 0 ) == n || c( 0 ) == n )
fprintf( fout, "1\n" );
else
fprintf( fout, "0\n" );
}
fclose( fin );
fclose( fout );
return 0;
}