Files
2026-05-19 07:04:53 +05:30

58 lines
1.3 KiB
Java

import java.util.*;
public class Nqueens{
static int n;
static int[][] board;
static boolean isSafe(int r, int c){
for(int i=0;i<r;i++){
if(board[i][c]==1)
return false;
}
for(int i=r,j=c;i>=0 && j>=0;i--,j--){
if(board[i][j]==1)
return false;
}
for(int i=r,j=c;i>=0 && j<n;i--,j++){
if(board[i][j]==1)
return false;
}
return true;
}
static void solve(int r){
if(r==n){
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
if(board[i][j]==1){
System.out.print(" Q ");
}else
System.out.print(" . ");
}
System.out.println();
}
System.out.println();
return;
}
for(int i=0;i<n;i++){
if(isSafe(r,i)){
board[r][i] =1;
solve(r+1);
board[r][i]=0;
}
}
}
public static void main(String[] args){
Scanner sc= new Scanner(System.in);
System.out.print("\nEnter n: ");
n =sc.nextInt();
board = new int[n][n];
solve(0);
sc.close();
}
}