luni, 17 decembrie 2012

2 margele alaturate sa aiba aceeasi culoare

#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