Cod sursa(job #974741)

Utilizator oprea1si2si3Oprea Sebastian oprea1si2si3 Data 18 iulie 2013 10:26:25
Problema Perle Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <fstream>
using namespace std;
ifstream in("perle.in");
ofstream out("perle.out");
int n,i,j,k,v[10005];
int B(int x);
int C(int x);

int C(int x)
{
if(v[x]==2)
    return x+1;
if(v[x]==3)
    return C(B(x+1));
if(v[x]==1 && v[x+1]==2)
    return x+3;
return 0;
}

int B(int x){
if(v[x]==2)
    return B(x+1);
if(v[x]==1 && v[x+2]==3)
    return C(x+4);
return 0;
}

int main(){

in>>n;
for(i=1;i<=n;i++){
    in>>k;
    for(j=1;j<=k;j++)
        in>>v[j];
    if(k==1 || B(1)==k+1 || C(1)==k+1)
        out<<1<<'\n';
    else
        out<<0<<'\n';
}
in.close();
out.close();
return 0;
}