Pagini recente » Cod sursa (job #2184294) | Cod sursa (job #1211339) | Cod sursa (job #2451164) | Cod sursa (job #2791719) | Cod sursa (job #2112329)
#include <bits/stdc++.h>
using namespace std;
ifstream f("perle.in");
ofstream g("perle.out");
int v[10003];
int rec(int n, int poz, int caracter){
if(poz>n)return n+1;
if(caracter==-1)
return poz;
if(caracter==-2){
if(v[poz]==2)
return rec(n,poz+1,-2);
else
{
if(poz<=n-4&&v[poz]==1&&v[poz+2]==3)
return rec(n,poz+4,-3);
return n+1;
}
}
if(caracter==-3){
if(v[poz]==2)return poz;
if(v[poz]==3)return max(rec(n,poz+1,-2),rec(n,poz+2,-3));
if(v[poz]==1)if((poz<=n-2)&&(v[poz+1]==2))return poz+2;
return n+1;
}
return n+1;
}
void rez(){
int n;
f>>n;
for(int i=1;i<=n;i++)f>>v[i];
if(rec(n,1,-1)==n||rec(n,1,-2)==n||rec(n,1,-3)==n)g<<1<<"\n";
else g<<0<<"\n";
}
int main()
{
int n;
f>>n;
for(int i=1;i<=n;i++){
rez();
}
return 0;
}