Cod sursa(job #1653856)

Utilizator Athena99Anghel Anca Athena99 Data 16 martie 2016 17:31:31
Problema Perle Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <fstream>

using namespace std;

ifstream fin("perle.in");
ofstream fout("perle.out");

const int kmax= 10000;

int v[kmax+1];

int do_c( int x );

int do_b( int x ) {
    if ( v[x]==2 ) {
        return do_b(x+1);
    } else if ( v[x]==1 && v[x+2]==3 ) {
        return do_c(x+4);
    }
    return 0;
}

int do_c( int x ) {
    if ( v[x]==2 ) {
        return x+1;
    } else if ( v[x]==3 ) {
        return do_c(do_b(x+1));
    } else if ( v[x]==1 && v[x+1]==2 ) {
        return x+3;
    }
    return 0;
}

int main(  ) {
    int t;
    fin>>t;
    for ( int cnt= 1; cnt<=t; ++cnt ) {
        int k;
        fin>>k;
        for ( int i= 1; i<=k; ++i ) {
            fin>>v[i];
        }

        if ( k==1 || do_b(1)==k+1 || do_c(1)==k+1 ) {
            fout<<"1\n";
        } else {
            fout<<"0\n";
        }
    }

    return 0;
}