Cod sursa(job #1577194)

Utilizator Mihai9Oniga Mihai Mihai9 Data 23 ianuarie 2016 12:13:42
Problema Perle Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include<fstream>
using namespace std;
ifstream fin("perle.in");
ofstream fout("perle.out");
int n,v[10010],t,q,i;
int checkb(int i);
int checkc(int i);
int checkb(int i){
    if(i+1<=n){if(v[i]==2){return checkb(i+1);}}
    if(i+4<=n){if(v[i]==1&&v[i+2]==3){return checkc(i+4);}}
    return n+2;
}
int checkc(int i){
    if(i+2<=n){if(v[i]==3){return checkc(checkb(i+1));}}
    if(i+2<=n){if(v[i]==1&&v[i+1]==2){return i+3;}}
    if(i<=n){if(v[i]==2){return i+1;}}
    return n+2;
}
int main(){
    fin>>t;
    for(q=1;q<=t;q++){
        fin>>n;
        for(i=1;i<=n;i++){fin>>v[i];}
        if(n==1||checkb(1)==n+1||checkc(1)==n+1){fout<<"1\n";}
        else{fout<<"0\n";}
    }
    return 0;
}