#define N 8
#include <iostream>
int board[N][N];
using namespace std;
void printsolution(int board[N][N])
{
for(int i=0; i<N; i++)
{
for(int j=0; j<N; j++)
{
cout<<board[i][j];
}
cout<<endl;
}
}
bool issafe(int board[N][N], int row, int col)
{
int i,j;
for(i=0; i<=N; i++)
{
if(board[i][col])
return false;
}
for(i=row, j=col; j>=0&& i>=0; j--,i--)
{
if(board[i][j])
return false;
}
for(i=row, j=col; i<=N&&j>=0; i++, j--)
{
if(board[i][j])
return false;
}
}
bool solveNQ(int board[N][N], int col)
{
if(col>=N)
return true;
for(int i=0; i<=N; i++)
{
if(issafe(board,i,col))
{
board[i][col]=1;
if(solveNQ(board,col+1))
return true;
board[i][col]=0;
}
}
return false;
}
bool getsol()
{
//board[8][8]={{0,0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0,0}};
if(solveNQ(board,0)==false)
{
cout<<"Soln de";
return false;
}
printsolution(board);
return true;
}
int main() {
// your code goes here
getsol();
return 0;
}
I2RlZmluZSBOIDgKI2luY2x1ZGUgPGlvc3RyZWFtPgppbnQgYm9hcmRbTl1bTl07CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnZvaWQgcHJpbnRzb2x1dGlvbihpbnQgYm9hcmRbTl1bTl0pCnsKCWZvcihpbnQgaT0wOyBpPE47IGkrKykKCXsKCQlmb3IoaW50IGo9MDsgajxOOyBqKyspCgkJewoJCQljb3V0PDxib2FyZFtpXVtqXTsKCQl9CgkJY291dDw8ZW5kbDsKCX0KfQpib29sIGlzc2FmZShpbnQgYm9hcmRbTl1bTl0sIGludCByb3csIGludCBjb2wpCnsKCWludCBpLGo7Cglmb3IoaT0wOyBpPD1OOyBpKyspCgl7CgkJaWYoYm9hcmRbaV1bY29sXSkKCQlyZXR1cm4gZmFsc2U7Cgl9Cglmb3IoaT1yb3csIGo9Y29sOyBqPj0wJiYgaT49MDsgai0tLGktLSkKCXsKCQlpZihib2FyZFtpXVtqXSkKCQlyZXR1cm4gZmFsc2U7Cgl9Cglmb3IoaT1yb3csIGo9Y29sOyBpPD1OJiZqPj0wOyBpKyssIGotLSkKCXsKCQlpZihib2FyZFtpXVtqXSkKCQlyZXR1cm4gZmFsc2U7Cgl9Cn0KYm9vbCBzb2x2ZU5RKGludCBib2FyZFtOXVtOXSwgaW50IGNvbCkKewoJaWYoY29sPj1OKQoJcmV0dXJuIHRydWU7Cglmb3IoaW50IGk9MDsgaTw9TjsgaSsrKQoJCXsKCQkJaWYoaXNzYWZlKGJvYXJkLGksY29sKSkKCQkJewoJCQkJYm9hcmRbaV1bY29sXT0xOwoJCQkJaWYoc29sdmVOUShib2FyZCxjb2wrMSkpCgkJCQlyZXR1cm4gdHJ1ZTsKCQkJCWJvYXJkW2ldW2NvbF09MDsKCQkJfQoJCX0KCQlyZXR1cm4gZmFsc2U7Cn0KYm9vbCBnZXRzb2woKQp7CgkvL2JvYXJkWzhdWzhdPXt7MCwwLDAsMCwwLDAsMCwwLDB9LHswLDAsMCwwLDAsMCwwLDAsMH0sezAsMCwwLDAsMCwwLDAsMCwwfSx7MCwwLDAsMCwwLDAsMCwwLDB9LHswLDAsMCwwLDAsMCwwLDAsMH0sezAsMCwwLDAsMCwwLDAsMCwwfSx7MCwwLDAsMCwwLDAsMCwwLDB9LHswLDAsMCwwLDAsMCwwLDAsMH19OwoJaWYoc29sdmVOUShib2FyZCwwKT09ZmFsc2UpCgl7CgkJY291dDw8IlNvbG4gZGUiOwoJCXJldHVybiBmYWxzZTsKCX0KCXByaW50c29sdXRpb24oYm9hcmQpOwoJcmV0dXJuIHRydWU7Cn0KCmludCBtYWluKCkgewoJLy8geW91ciBjb2RlIGdvZXMgaGVyZQoJZ2V0c29sKCk7CgkKCXJldHVybiAwOwp9