miku
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
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();
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user