Pagini recente » Cod sursa (job #2314369) | Cod sursa (job #1653687) | Cod sursa (job #29603) | Cod sursa (job #2353700) | Cod sursa (job #398171)
Cod sursa(job #398171)
#include<fstream>
#include<iomanip>
using namespace std;
fstream fin("perle.in",ios::in);
fstream fout("perle.out",ios::out);
int a[10005],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]==1)
if(c(1))
return 1;
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;
fin>>t;
while(t>0){
fin>>n;
for(int i=1;i<=n;i++)
fin>>a[i];
fout<<check()<<endl;
t--;
}
return 0;
}