Cod sursa(job #1341293)
Utilizator | Data | 12 februarie 2015 16:51:17 | |
---|---|---|---|
Problema | Perle | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 1.93 kb |
#include <fstream>
using namespace std;
ifstream f("perle.in");
ofstream g("perle.out");
int v[10010],i,j,n,m,l,p,r,s,t,ok;
int main()
{
f>>n;
for(t=1;t<=n;t++)
{
f>>m;
for(s=1;s<=m;s++)
{
f>>v[i];
}
i=1;ok=1;
if(m>1)
while(i<=m)
{
if(v[i]==3)
{
if(v[i-2]==3&&v[i+1]!=3)
ok=1;
else
if(v[i-2]==1&&v[i-3]!=1)
{ok=1;i++;}
else
{
ok=0;break;
}
}
else
if(v[i]==2)
{
if(i+2>m&&v[i-1]==1)
break;
if(i+1>m)
break;
if(v[i-1]!=1&&v[i+1]!=3)
ok=1;
else
{
ok=0;break;
}
}
else
if(v[i]==1)
{
if(v[i-1]!=1&&v[i+2]==3)
{
i++;
}
else
if(v[i+1]==2&&i+3>m)
break;
else
{
ok=0;break;
}
}
i++;
}
g<<ok<<'\n';
}
return 0;
}