Pagini recente » Cod sursa (job #1941543) | Istoria paginii utilizator/laura.caliman | Cod sursa (job #43625) | Cod sursa (job #1903989) | Cod sursa (job #881432)
Cod sursa(job #881432)
#include<fstream>
#include<time.h>
using namespace std;
ifstream f("perle.in");
ofstream g("perle.out");
int a[11000];
int sy,rc=1,length=0;
void C();
void B();
void read_number(int& n)
{
f>>n;
}
void read_array()
{
int i;
f>>length;
for(sy=0;sy<length;sy++)
{
f>>a[sy];
}
}
int inc()
{
sy++;
if(sy>length)
{
rc=0;
return(1);
}
else
return(0);
}
int is(int x)
{
if(a[sy]==x)
{
if(inc()==1)
return(0);
else
return(1);
}
else
{
return(0);
}
}
void A()
{
if(is(1)==0 && is(2)==0 && is(3)==0)
rc=0;
}
void B()
{
if(is(2))
{
B();
return;
}
if(is(1))
{
A();
if(!is(3))
{
rc=0;
return;
}
A();
C();
return;
}
rc=0;
}
void C()
{
if(is(2))
{
return;
}
if(is(1))
{
if(!is(2))
{
rc=0;
return;
}
A();
return;
}
if(is(3))
{
B();
C();
return;
}
rc=0;
}
int check()
{
sy=0;
rc=1;
if(length==1)
{
A();
return(rc);
}
if(length==3)
{
C();
return(rc);
}
if(a[0]==2 || a[0]==1)
{
B();
if(sy<length)
rc=0;
return(rc);
}
if(a[0]==3)
{
C();
if(sy<length)
rc=0;
return(rc);
}
}
int main()
{
int n,i;
read_number(n);
for(i=0;i<n;i++)
{
read_array();
g<<check()<<"\n";
}
clock_t end=clock();
g<<"Duration "<<(end)/(CLOCKS_PER_SEC/1000);
}