Cod sursa(job #893787)

Utilizator radu2004GOLD radu radu2004 Data 26 februarie 2013 17:53:57
Problema Perle Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <cstdio>

using namespace std;
int a[100],n,l,i,j,k;FILE *f,*g;
int c(int);
int b(int);
int c (int i)
{
    if (i<=l)
    {
        if (a[i]==2) return i;
         else
        if (a[i]==3) return c(b(i+1)+1);
          else
        if (a[i]==1 && a[i+1]==2) return i+2;
    }
    return 0;
}
int b( int i)
{
    if (i<=l)
    {
        if (a[i]==2) return b(i+1);
             else
        if (a[i]==1 && a[i+2]==3) return c(i+4);
    }
    return 0;
}
int main()
{ f=fopen ("perle.in","r");
  g=fopen ("perle.out","w");
    fscanf (f,"%d",&n);
    for (k=1;k<=n;k++)
  {
      fscanf (f,"%d",&l);
      for (j=1;j<=l;j++) fscanf (f,"%d",&a[j]);
      if (l==1) fprintf (g,"%d\n",1);
       else if (b(1)==l || c(1)==l) fprintf (g,"%d\n",1);
                     else fprintf (g,"%d\n",0);
  }
    return 0;
}