Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<iostream>
- using namespace std;
- void TickPointQueen(int a[][8])
- {
- for(int i=0;i<8;i++)
- {
- for(int j=0;j<8;j++)
- {
- if(a[i][j]==1)
- {
- int x1=i;int y1=j;
- int x2=i;int y2=j;
- for(int b=0;b<8;b++)
- {
- if(a[i][b]!=1) //ngang
- a[i][b]=2;
- if(a[b][j]!=1) // doc
- a[b][j]=2;
- }
- while(y1>=0&&y1<7&&x1>=0&&x1<7) //cheo a<0
- { x1++;y1++; if(a[x1][y1]!=1) a[x1][y1]=2;}
- x1=i; y1=j;
- while(y1>0&&y1<=7&&x1>0&&x1<=7)
- { x1--;y1--; if(a[x1][y1]!=1) a[x1][y1]=2; }
- while(y2>0&&y2<=7&&x2>=0&&x2<7)
- { x2++;y2--; if(a[x2][y2]!=1) a[x2][y2]=2; } //cheo a>0
- x2=i;y2=j;
- while(y2>=0&&y2<7&&x2>0&&x2<=7)
- {x2--;y2++; if(a[x2][y2]!=1) a[x2][y2]=2; }
- }
- }
- }
- }
- void Show(int a[][8])
- { for(int i=0;i<8;i++)
- { for(int j=0;j<8;j++)
- cout<<a[i][j]<<" ";
- cout<<"\n\n";
- }}
- void Clear(int a[][8])
- {
- for(int j=0;j<8;j++)
- { for(int i=0;i<8;i++)
- a[i][j]=0;
- }
- }
- int QueenCount(int a[][8])
- {
- int k=0;
- for(int j=0;j<8;j++)
- { for(int i=0;i<8;i++)
- {
- if(a[i][j]==1)
- k++;
- }
- }
- return k;
- }
- void SolveQueen(int a[][8],int j)
- {
- ////////??????????????????????????
- for(int i =0 ;i<8;i++)
- {
- if(a[i][j]==0)
- {
- a[i][j]=1;
- TickPointQueen(a);
- }
- }
- if(j<7)
- SetQueen(a,j++);
- }
- int main()
- {
- int array[8][8];
- int queen =1;
- int total=0;
- Clear(array);
- SolveQueen(array,0);Show(array);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement