Cod sursa(job #995565)

Utilizator Corneliu10Dumitru Corneliu Corneliu10 Data 9 septembrie 2013 14:40:42
Problema Perle Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include<iostream>
#include<stdio.h>
using namespace std;
FILE *f,*g;
int t,n,a[10005],i;
int c(int x);
int b(int x)
{if(x>n)
return 0;
if(a[x]==1&&a[x+2]==3)
    return c(x+4);
if(a[x]==2)
    return b(x+1);
return 0;
}
int c(int x)
{if(x>n)
return 0;
if(a[x]==1&&a[x+1]==2)
    return x+2;
    if(a[x]==2)
        return x;
if(a[x]==3)
{
    int u;
    u=b(x+1);
    if(u)
        return c(u+1);
}
return 0;
}
int main()
{
    f=fopen("perle.in","r");
    g=fopen("perle.out","w");
fscanf(f,"%d\n",&t);
while(t--)
{
    fscanf(f,"%d",&n);
    for(i=1;i<=n;i++)
        fscanf(f,"%ld",&a[i]);
    if(n==1||n==b(1)||n==c(1))
        fprintf(g,"1\n");
    else
        fprintf(g,"0\n");
}
 
}