Cod sursa(job #1361941)

Utilizator TarabanDragosTaraban Dragos-Petru TarabanDragos Data 26 februarie 2015 03:06:29
Problema Perle Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include<cstdio>
int n,m,i,j,v[10100];
FILE *f,*g;
int chkc(int k);
int chkb(int k){
    if(v[k]==2)
        return chkb(k+1);
    if(v[k]==1&&v[k+2]==3)
        return chkc(k+4);
    return 0;
}
int chkc(int k){
    if (v[k]==2)
        return k+1;
    if (v[k]==3)
        return chkc ( chkb ( k + 1 ) );
    if ( v[k]==1 && v[k+1]==2 )
        return k+3;
    return 0;
}
int main(){
    f=fopen("perle.in","r");
    g=fopen("perle.out","w");
    fscanf(f,"%d",&n);
    for(i=1;i<=n;i++){
        fscanf(f,"%d",&m);
        for(j=1;j<=m;j++){
            fscanf(f,"%d",&v[j]);
        }
        if( m==1 || chkb(1) == m+1 || chkc(1) == m+1 )
            fprintf(g,"1\n");
        else
            fprintf(g,"0\n");
    }







    fclose(f);
    fclose(g);
    return 0;
}