Pagini recente » Cod sursa (job #1875935) | Cod sursa (job #393805) | Cod sursa (job #1726871) | Cod sursa (job #652100) | Cod sursa (job #1274359)
#include <fstream>
#define Mare 10000000
#define Vect 10003
using namespace std;
ifstream f("perle.in");
ofstream g("perle.out");
int n,i,t,a[Vect],j;
int C(int p);
int B(int p){
if(p > n)
return Mare;
if(a[p]==2)
return B(p+1);
if(a[p]==1 && a[p+2]==3)
return C(p+4);
return Mare;
}
int C(int p){
if(p > n)
return Mare;
if(a[p]==1 && a[p+1]==2)
return p+2;
if(a[p]==2)
return p;
if(a[p]==3)
return C(1+B(p+1));
return Mare;
}
int main()
{
f >> t;
for(i = 1; i <= t; i++){
f >> n;
for(j = 1; j <= n ; j++)
f >> a[j];
if(n==1 || B(1)==n || C(1)==n)
g<<"1"<<"\n";
else
g<<"0"<<"\n";
}
return 0;
}