Pagini recente » Cod sursa (job #453368) | Cod sursa (job #434591) | Cod sursa (job #1620543) | Cod sursa (job #453476) | Cod sursa (job #2693503)
#include <stdio.h>
int v[ 10002 ];
int B( int poz );
int C( int poz ){
if( v[ poz ] == 2 )
return poz + 1;
if( v[ poz ] == 3 )
return C( B( poz + 1 ) );
if( v[ poz ] == 1 && v[ poz + 1 ] == 2 )
return poz + 3;
return -1;
}
int B( int poz ) {
if( v[ poz ] == 2 )
return B( poz + 1 );
if( v[ poz ] == 1 && v[ poz + 2 ] == 3 )
return C( poz + 4 );
return -1;
}
int main()
{
int q;
FILE *fin = fopen( "perle.in", "r" );
FILE *fout = fopen( "perle.out", "w" );
fscanf( fin, "%d", &q );
while( q-- ){
int n;
fscanf( fin, "%d", &n );
for( int i = 0; i < n; i++ )
fscanf( fin, "%d", &v[ i ] );
if( n == 1 || B( 0 ) == n || C( 0 ) == n )
fprintf( fout, "1\n" );
else fprintf( fout, "0\n" );
}
fclose( fin );
fclose( fout );
return 0;
}