Pagini recente » Cod sursa (job #2242476) | Cod sursa (job #1589983) | Cod sursa (job #1972215) | Cod sursa (job #1502289) | Cod sursa (job #2660143)
#include <bits/stdc++.h>
using namespace std;
ifstream f ("perle.in");
ofstream g ("perle.out");
int t;
int n,a[10005];
void citire ()
{
f>>n;
for(int i=1;i<=n;++i)
f>>a[i];
}
/*
A -> 1 | 2 | 3
B -> 2B | 1A3AC
C -> 2 | 3BC | 12A
*/
///returneaza pozitia
int rezC(int i);
int rezB(int i)
{
if(i>n)
return -1;
if(a[i]==2)
return rezB(i+1);
if(a[i]==1 && a[i+2]==3)
return rezC(i+4);
return -1;
}
int rezC(int i)
{
if(i>n)
return -1;
if(a[i]==2)
return i;
if(a[i]==3)
return rezC(rezB(i+1)+1);
if(a[i]==1 && a[i+1]==2)
return i+2;
return -1;
}
void rezolva()
{
if(n==1 || rezB(1)==n || rezC(1)==n)
g<<1;
else
g<<0;
g<<"\n";
}
int main()
{
f>>t;
while(t--)
{
citire();
rezolva();
}
return 0;
}