Pagini recente » Cod sursa (job #2884995) | Cod sursa (job #1949535) | Cod sursa (job #1652926) | Cod sursa (job #3253878) | Cod sursa (job #1769304)
#include <fstream>
using namespace std;
ifstream fin("perle.in");
ofstream fout("perle.out");
int i,t,n,A[10010];
int C(int poz);
int B(int poz)
{
if(poz+1<=n && A[poz]==2)
return B(poz+1);
if(poz+4<=n && A[poz]==1 && A[poz+2]==3)
return C(poz+4);
return -1;
}
int C(int poz)
{
if(poz+2<=n)
{
if(A[poz]==3)
return C(B(poz+1));
if(A[poz]==1 && A[poz+1]==2)
return poz+3;
}
if(poz<=n && A[poz]==2)
return poz+1;
return -1;
}
int main()
{
fin>>t;
while(t--)
{
fin>>n;
for(i=1; i<=n; ++i)
fin>>A[i];
bool ok=0;
if(n==1||B(1)==n+1||C(1)==n+1)
ok=1;
fout<<ok<<'\n';
}
return 0;
}