Pagini recente » Cod sursa (job #2080146) | Cod sursa (job #207463) | Cod sursa (job #2099609) | Cod sursa (job #928746) | Cod sursa (job #396831)
Cod sursa(job #396831)
#include<fstream>
using namespace std;
ofstream g("perle.out");
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[2]==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];
g<<check()<<endl;
t--;
}
return 0;
}