daily pastebin goal
23%
SHARE
TWEET

Untitled

a guest Jan 21st, 2019 61 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top