Cod sursa(job #262166)

Utilizator misuvdPopovici Mihai misuvd Data 19 februarie 2009 08:35:11
Problema Perle Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include<fstream.h>
int a[10001];
int i,n,m,j;
int b(int k)
{
 if(a[k]==2&&(a[k+1]==1||a[k-1]==2)&&a[k+3]==3)
 return b(k+1);
 if(a[k]==1&&a[k+2]==3)
 return b(k+3);
 if(a[k]==1&&a[k+1]==2&&a[k+3]!=0)
 return b(k+3);
 if(a[k]==3&&(a[k+1]==2||a[k+1]==1))
 return b(k+1);
 if((a[k]==3&&(a[k+3]==0||a[k+1]==0))||(a[k]==2&&(a[k+1]!=1||a[k-1]!=2||a[k+2]!=3))||(a[k]==1&&(a[k+2]!=3||a[k+1]!=2)))
 return 0;
 if(a[k]==0)
 return k;
}
int main()
{
 ifstream f("perle.in");
 ofstream g("perle.out");
 f>>n;
 for(i=1;i<=n;i++)
 {
  f>>m;
   for(j=1;j<=m;j++)
   {
    f>>a[j];
    if(m==1)
    g<<1<<"\n";
    else
    if(m==2)
    g<<0<<"\n";
    else
    g<<b(1)<<"\n";
    }
}
return 0;
}