Cod sursa(job #352084)

Utilizator APOCALYPTODragos APOCALYPTO Data 30 septembrie 2009 13:54:00
Problema Jocul Flip Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include<iostream.h>
long nr1=0,nr0=0,n,sol[1000],sum;
void tipar()
{long s=0,i;
    for(i=1;i<=sum;i++)
      s=s*2+sol[i];
cout<<s<<'\n';
}
int valid(int i,int k)
{int arca0=0,arca1=0;
    for(i=1;i<sum;i++)
    if(sol[i]==1)
    arca1++;
    else
    arca0++;
if(arca1>nr1||arca0>nr0)
       return 0;
if(k==1&&sol[1]==0)
       return 0;
if(k==sum&&(arca0!=nr0||arca1!=nr1))
        return 0;
return 1;
}
void back(int k)
{if(k>sum)
    tipar();
   else
    for(int i=0;i<=1;i++)
         if(valid(i,k))
           {sol[k]=i;

           back(k+1);

           }
}



int main()
{n=6;
while(n)
 { if(n%2==0)
      nr0++;
     else
      nr1++;
  n=n/2;
 }
sum=nr0+nr1;
back(1);
 return 0;
}