Pagini recente » Cod sursa (job #1952322) | Cod sursa (job #1442827) | Cod sursa (job #1425942) | Cod sursa (job #315362) | Cod sursa (job #396826)
Cod sursa(job #396826)
#include<iostream>
#include<fstream>
using namespace std;
int a[1000],n;
int b(int i);
int c(int i);
int check(){
if(n==1)
return 1;
if(n==2)
return 0;
if(a[1]==3)
return c(1);
if(a[1]==2)
return b(1);
if(a[1]==1)
if(c(1))
return 1;
else
return b(1);
}
int b(int i){
if(a[i]==2)
return b(i+1);
if(a[i]==1 && a[i+2]==3)
return c(i+4);
return c(i+1);
}
int c(int i){
if(a[i]==2 && i==n)return 1;
if(a[i]==2) return c(i+1);
if(a[i]==3) return b(i+1);
if(a[i]==1 && a[i+1]==2 && i+2==n) return 1;
if(a[i]==1 && a[i+1]==2) return c(i+3);
return 0;
}
int main(){
int t;
ifstream f("perle.in");
f>>t;
while(t>0){
f>>n;
for(int i=1;i<=n;i++)
f>>a[i];
cout<<check()<<endl;
t--;
}
return 0;
}