#include<bits/stdc++.h>
using namespace std;
void check(int row,int col,int n,vector<vector<int>> &board){
    for(int i=0;i<=col;i++){
        if(board[row][i]){
            return false;
        }
        
    }
    for(int i=row,j=col;i>=0,j>=0;i--,j--){
        if(board[i][j]){
            return false;
        }
    }
    for(int i=row,j=col;i>=n,j<=n;i--,j++){
        if(board[i][j]){
            return false;
        }
    }
    return true;
}
void nqueen(int col,int n,vector<vector<int>> &board){
    if(col==n){
        return true;
    }
    for(int row=0;row<n;row++){
        if(check(row,col,n,board)){
            board[row][col]=1;
            if(nqueen(col+1,n,board)){
                return true;
            }
            
        }
        board[row][col]=0;
    }
}
int main(){
    int n=4;
    vector<vector<int>> board(n,vector<int>(n,0));
    nqueen(0,n,board);
}