Cod sursa(job #2418237)

Utilizator Briana_NeaguNeagu Briana Briana_Neagu Data 4 mai 2019 13:53:49
Problema Perle Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1 kb
#include <bits/stdc++.h>
#define maxi 10001

using namespace std;

ifstream f ("perle.in");
ofstream g("perle.out");

int n,t,q;
char sir[maxi];
bool B();
bool C();

 bool B()
 { if (q>n-1)
     return false;
   if (sir[q]=='2')
    {
      q++;
      return B();
    }
   else
   {
     q=q+2;
     if (sir[q]!='3')
       return false;
    q=q+2;
    return C();
   }
 }

bool C()
{
  if (q>n-1)
     return false;
if (q+2==n-1 || q==n-1)
     return true;
   if(sir[q]=='2')
    return true;
   if (sir[q]=='3')
    {
      B();
      C();
    }
   else if (sir[q]='1' && sir [q+1]=='2')
     { q+=2;
       return true;
     }


}


int main()
{
   char spatiu;
   f>>t;
   bool ok;
   for (int i=1;i<=t;i++)
   { int q=0;
     f>>n;
     for (int j=0;j<=n-1;j++)
       f>>sir[j];
     sir[n]=0;
     if (n==1)
        g<<1;
    else
    {
     if (sir[0]=='2' || (n>3 && sir[0]=='1'))
       g<<B();
     else g<<C();
   }
   g<<'\n';



   }
}