Cod sursa(job #1429581)

Utilizator delta_wolfAndrei Stoica delta_wolf Data 6 mai 2015 18:23:26
Problema Perle Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <cstdio>
using namespace std;
int v[11111],t,n;
int b(int i);
int c(int i);
bool inline verif();
int main()
{
    freopen("perle.in","r",stdin);
    freopen("perle.out","w",stdout);
    for(scanf("%d",&t);t;--t){
        scanf("%d",&n);
        for(int i=1;i<=n;++i)scanf("%d",v+i);
        printf("%d\n",verif());
    }
    return 0;
}
int b(int i){
    if(v[i]==2)return b(i+1);
    if(v[i]==1 and v[i+2]==3)return c(i+4);
    return -1;
}
int c(int i){
    if(v[i]==3)return c(b(i+1));
    if(v[i]==1 and v[i+1]==2)return i+3;
    if(v[i]==2)return i+1;
    return -1;
}
bool inline verif(){
    if(n==1 or b(1)==n+1 or c(1)==n+1)return 1;
    return 0;
}