Cod sursa(job #1034115)

Utilizator sddddgjdZloteanu Anastasia sddddgjd Data 17 noiembrie 2013 17:48:30
Problema Perle Scor 100
Compilator c Status done
Runda Arhiva de probleme Marime 0.86 kb
#include<stdio.h>
int v[110000];
int perlaC(int x)
{
    if(v[x+1]==2)
        if(v[x]==1)
            return x+3;
    if(v[x]==2)
        return x+1;
    if(v[x]==3)
        return perlaC(perlaB(x+1));
    return 0;
}
int perlaB(int x)
{
    if(v[x]==2)
        return perlaB(x+1);
    if(v[x+2]==3&&v[x]==1)
        return perlaC(x+4);
    return 0;
}
int main()
{
    FILE *fin,*fout;
    fin=fopen("perle.in","r");
    fout=fopen("perle.out","w");
    int n;
    fscanf(fin,"%d",&n);
    int i;
    for(i=0;i<n;i++)
    {
        int k;
        fscanf(fin,"%d",&k);
        int cont;
        for (cont=1;cont<=k;cont++)
            fscanf(fin,"%d",&v[cont]);
        if(perlaB(1)==k+1||perlaC(1)==k+1||k==1)
            fprintf(fout,"1");
        else
            fprintf(fout,"0");
        fprintf(fout,"\n");
    }
    return 0;
}