#include<iostream.h>
int v[100],n,i,j,t,k,m,x;
char culoare [100][30];
void afisare()
{ int i;
t=t+1;
for(i=1;i<=n;i++)
{cout<<v[i]<<' '<<culoare[v[i]];}
cout<<endl;}
int cont(int k)
{ int i;
if(v[k]= =v[k-2]&&k>2)
return 0;
if(v[k]!=v[k-1]&&k>1&& k%2= =0)
return 0;
if(k= =n&&v[k]= =v[1])
return 0;
return 1;}
void back(int k)
{int i;
for(i=1;i<=m;i++)
{v[k]=i;
if(cont(k)= =1)
if(k= =n)
afisare();
else
back(k+1); }}
int main()
{cout<<"n=";
cin>>n;
cout<<"m=";
cin>>m;
t=0;
for(i=1;i<=m;i++)
{cout<<"dati culoare"<<endl;
cin>>culoare[i];}
back(1);
cout<<t<<"solutii"<<endl;
return 0;}
Niciun comentariu:
Trimiteți un comentariu