Pagini recente » Cod sursa (job #739882) | Cod sursa (job #2124771) | Cod sursa (job #1573927) | Cod sursa (job #422406) | Cod sursa (job #2500633)
#include <iostream>
int n, v[10005],i;
using namespace std;
void A()
{
i++;
}
int C();
int B()
{
if(v[i]==2)
{
i++;
if(i>n)
return 0;
if(B())
return 1;
else
return 0;
}
if(v[i]==1)
{
i++;
if(i>n)
return 0;
A();
if(v[i]!=3)
return 0;
i++;
if(i>n)
return 0;
A();
if(i>n)
return 0;
if(C())
return 1;
else
return 0;
}
return 0;
}
int C()
{
if(v[i]==2)
{
i++;
return 1;
}
if(v[i]==3)
{
i++;
if(i>n)
return 0;
if(!B())
return 0;
if(!C())
return 0;
return 1;
}
if(v[i]==1)
{
i++;
if(i>n)
return 0;
if(v[i]==2)
{
i++;
if(i>n)
return 0;
A();
return 1;
}
else
return 0;
}
return 0;//degeaba
}
int main()
{
cin>>n;
for(i=1;i<=n;i++)
cin>>v[i];
i=1;A();
if(i==n+1)
{
cout<<1;
return 0;
}
i=1;
if(B() and i==n+1)
{
cout<<1;
return 0;
}
i=1;
if(C() and i==n+1)
{
cout<<1;
return 0;
}
cout<<0;
return 0;
}