Advertisement
Guest User

Untitled

a guest
Oct 15th, 2019
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.82 KB | None | 0 0
  1. #include<stdio.h>
  2. //#include<conio.h>
  3. #include<stdlib.h>
  4.  
  5.  
  6. int a[30],count=0;
  7.  
  8. int place(int pos) {
  9. int i;
  10. for (i = 1; i<pos; i++) {
  11. if((a[i]==a[pos]) || ((abs(a[i] - a[pos])==abs(i-pos))))
  12. return 0;
  13. }
  14. return 1;
  15. }
  16.  
  17. void print_sol(int n) {
  18. int i, j;
  19. count++;
  20. printf("\n\nSolution #%d:\n",count);
  21. for (i=1; i<=n; i++) {
  22. for (j=1; j<=n; j++) {
  23. if(a[i] == j)
  24. printf("Q\t"); else
  25. printf("*\t");
  26. }
  27. printf("\n");
  28. }
  29. }
  30.  
  31. void queen(int n) {
  32. int k =1;
  33. a[k] = 0;
  34. while(k != 0) {
  35. a[k] = a[k] + 1;
  36. while((a[k] <= n) && !place(k))
  37. a[k]++;
  38. if(a[k] <= n) {
  39. if(k == n)
  40. print_sol(n);
  41. else {
  42. k++;
  43. a[k]=0;
  44. }
  45. }
  46. else
  47. k--;
  48. }
  49. }
  50.  
  51. int main() {
  52. int i,n;
  53. printf("Enter the number of Queens: ");
  54. scanf("%d",&n);
  55. queen(n);
  56. printf("\nTotal solutions=%d",count);
  57. return 0;
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement