Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <math.h>
- int n,v[100],sol;
- void afisare()
- {int i,j,x;
- sol++; std::cout<<"\n Solutia: "<<sol<<'\n';
- for (i=1;i<=n;i++)
- {for (j=1;j<=n;j++)
- if (v[i]==j) std::cout<<"D ";
- else std::cout<<"_ ";
- std::cout<<'\n';
- }
- }
- int valid(int k)
- {int i;
- for (i=1;i<=k-1;i++)
- if ((v[i]==v[k])||(abs(v[k]-v[i])==(k-i)))
- return 0;
- return 1;}
- int solutie(int k)
- {if (k==n)
- return 1;
- return 0;}
- void BK(int k)
- {int i;
- for (i=1;i<=n;i++)
- {v[k]=i;
- if (valid(k)==1)
- {if (solutie(k)==1)
- afisare();
- else
- BK(k+1);
- }
- }
- }
- int main()
- {std::cout<<"n= ";std::cin>>n;
- BK(1);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement