Pagini recente » Cod sursa (job #1503913) | Cod sursa (job #1011247) | Cod sursa (job #2837794) | Cod sursa (job #1265767) | Cod sursa (job #446552)
Cod sursa(job #446552)
#include <stdio.h>
FILE *f,*s;
int m,n,i,j,v[10005];
int Solve();
int SolveB(int k);
int SolveC(int k);
int Solve()
{
if(n==1) return 1;
if(n==2) return 0;
if(v[1]==1 || v[1]==2) return SolveB(1);
if(v[1]==3) return SolveC(1);
}
int SolveB(int k)
{
if(v[k]==2) return SolveB(k+1);
if(v[k]==1 && v[k+2]==3) return SolveC(k+4);
return SolveC(k+1);
}
int SolveC(int k)
{
if(v[k]==2)
{
if(k==n)
return 0;
else
return SolveC(i+1);
}
if(v[k]==1 && v[k+1]==2)
{
if(k+2==n)
return 1;
return SolveC(k+3);
}
if(v[k]==3)
return SolveB(k+1);
return 0;
}
int main()
{
f=fopen("perle.in","r");
s=fopen("perle.out","w");
fscanf(f,"%d",&m);
for(i=1;i<=m;i++)
{
fscanf(f,"%d",&n);
for(j=1;j<=n;j++)
fscanf(f,"%d",&v[i]);
fprintf(s,"%d\n",Solve());
}
fclose(s);
return 0;
}