Pagini recente » Cod sursa (job #2535189) | Cod sursa (job #2220039) | Cod sursa (job #1272155) | Cod sursa (job #358444) | Cod sursa (job #652731)
Cod sursa(job #652731)
#include <iostream>
#include <fstream>
#include <string.h>
using namespace std;
ifstream f("perle.in");
ofstream h("perle.out");
int s[100002],n,i,k=0;
int b()
{
if (s[i]==2)
return 1;
if (s[i]==1 && s[i+2]==3)
return 2;
return 0;
}
int c()
{
if (s[i]==2)
return 1;
if(s[i]==3)
return 2;
if(s[i]==1 && s[i+1]==2)
return 3;
return 0;
}
void solvec();
void solveb()
{
int nr;
nr=b();
if (i<n && nr )
{
if(nr==1)
{ i++;
solveb();
k=0;
}
else if(nr==2)
{
i+=4;
solvec();
k=0;
}
}
}
void solvec()
{
int nr;
nr=c();
if(nr && i<n)
{
if(nr==1)
{ i++;
k=1;
}
else if(nr==2)
{
i++;
k=0;
solveb();
solvec();
}
else if(nr==3)
{
i+=3;
k=1;
}
}
}
int main()
{
int j,m;
for(f>>m;m;m--)
{
f>>n;
for(j=0;j<n;j++)
f>>s[j];
if(n==1)
h<<1<<endl;
else
{
i=0;
solveb();
if(i==n && k)
h<<1<<endl;
else
{
i=0;
solvec();
if(i==n && k)
h<<1<<endl;
else
h<<0<<endl;
}
}
}
return 0;
}