Cod sursa(job #2941682)

Utilizator AztecaVlad Tutunaru 2 Azteca Data 18 noiembrie 2022 01:46:23
Problema Perle Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.91 kb
#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;
}