Advertisement
Guest User

Untitled

a guest
Jan 21st, 2019
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.78 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<iostream>
  3. using namespace std;
  4. void TickPointQueen(int a[][8])
  5. {
  6. for(int i=0;i<8;i++)
  7. {
  8. for(int j=0;j<8;j++)
  9. {
  10. if(a[i][j]==1)
  11. {
  12. int x1=i;int y1=j;
  13. int x2=i;int y2=j;
  14. for(int b=0;b<8;b++)
  15. {
  16. if(a[i][b]!=1) //ngang
  17. a[i][b]=2;
  18. if(a[b][j]!=1) // doc
  19. a[b][j]=2;
  20. }
  21. while(y1>=0&&y1<7&&x1>=0&&x1<7) //cheo a<0
  22. { x1++;y1++; if(a[x1][y1]!=1) a[x1][y1]=2;}
  23. x1=i; y1=j;
  24. while(y1>0&&y1<=7&&x1>0&&x1<=7)
  25. { x1--;y1--; if(a[x1][y1]!=1) a[x1][y1]=2; }
  26. while(y2>0&&y2<=7&&x2>=0&&x2<7)
  27. { x2++;y2--; if(a[x2][y2]!=1) a[x2][y2]=2; } //cheo a>0
  28. x2=i;y2=j;
  29. while(y2>=0&&y2<7&&x2>0&&x2<=7)
  30. {x2--;y2++; if(a[x2][y2]!=1) a[x2][y2]=2; }
  31. }
  32. }
  33. }
  34. }
  35. void Show(int a[][8])
  36. { for(int i=0;i<8;i++)
  37. { for(int j=0;j<8;j++)
  38. cout<<a[i][j]<<" ";
  39. cout<<"\n\n";
  40. }}
  41. void Clear(int a[][8])
  42. {
  43. for(int j=0;j<8;j++)
  44. { for(int i=0;i<8;i++)
  45. a[i][j]=0;
  46. }
  47. }
  48. int QueenCount(int a[][8])
  49. {
  50. int k=0;
  51. for(int j=0;j<8;j++)
  52. { for(int i=0;i<8;i++)
  53. {
  54. if(a[i][j]==1)
  55. k++;
  56. }
  57.  
  58. }
  59. return k;
  60. }
  61.  
  62. void SolveQueen(int a[][8],int j)
  63. {
  64. ////////??????????????????????????
  65. for(int i =0 ;i<8;i++)
  66. {
  67. if(a[i][j]==0)
  68. {
  69. a[i][j]=1;
  70. TickPointQueen(a);
  71.  
  72. }
  73. }
  74.  
  75. if(j<7)
  76. SetQueen(a,j++);
  77.  
  78. }
  79.  
  80.  
  81.  
  82. int main()
  83. {
  84. int array[8][8];
  85. int queen =1;
  86. int total=0;
  87. Clear(array);
  88. SolveQueen(array,0);Show(array);
  89.  
  90.  
  91. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement