duminică, 4 noiembrie 2012
Se cer toate solutiile de asezare in linie a m caini si n pisici astfel incat sa nu existe o pisica intre doi caini.
#include<iostream.h>
int v[100],i,j,k,n,m;
void afisare()
{ int i;
for(i=1;i<=n+m;i++)
if(v[i]==1)
cout<<"C";
else
cout<<"P";
cout<<endl;}
int cont(int k)
{ int s,t;
s=0;
t=0;
for(i=1;i<=k;i++)
if(v[i]==1)
s++;
else
t++;
if(k=n+m)
if(s>n&&t>m)
return 0;
if(k>2&&v[k-2]==1&&v[k-1]==2&&v[k]==1)
return 0;
return 1;}
void back(int k)
{int i;
for(i=1;i<=2;i++)
{v[k]=i;
if(cont(k)==1)
if(k==n+m)
afisare();
else
back(k+1);}}
int main()
{cout<<"n=";
cin>>n;
cout<<"m=";
cin>>m;
back(1);
return 0;}
Abonați-vă la:
Postare comentarii (Atom)
Niciun comentariu:
Trimiteți un comentariu