Advertisement
Guest User

Untitled

a guest
Feb 21st, 2020
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.78 KB | None | 0 0
  1.  
  2. #include <iostream>
  3. #include <math.h>
  4. using namespace std;
  5. int sw;
  6. int verif(int st[],int k)
  7. {
  8. for( int i=0;i<k;i++)
  9. {
  10. if(st[k]==st[i] || k-i== fabs(st[k]-st[i]))
  11. return 0;
  12. }
  13. return 1;
  14. }
  15. void afis(int st[],int n )
  16. {
  17. for (int i=0;i<n;++i)
  18. {
  19. for(int j=0;j<n;++j)
  20. if (j==st[i]) cout<<"*";
  21. else
  22. cout<<"-";
  23. cout<<endl;
  24. }
  25.  
  26. }
  27. void backtrack(int st[],int k,int n)
  28. {
  29. if(k==n)
  30. {
  31. afis(st,n);
  32. sw=1;
  33. }
  34. else if(sw==0)
  35. {
  36. for(int i=0;i<n;++i)
  37. {
  38. st[k]=i;
  39. if(verif(st,k) || k == 0) backtrack(st,k+1,n);
  40. }
  41. }
  42.  
  43. }
  44. int main()
  45. {
  46. int n,st[20]= {0};
  47. cin>>n;
  48. backtrack(st,0,n);
  49. return 0;
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement