0

Queen problem

cannt get desired output public class Queen_prob { public static void main(String[] args) { int arr[][]=new int [4][4]; Queenplace(arr,4); } private static void Queenplace(int[][] arr, int N) { int r=0; helper(arr,N,r); } private static void helper(int[][] arr, int n, int r) { if(r==n) { PrintBoard(arr); } for(int j=0;j<n;j++) { if(isvalid(arr,r,j)) { arr[r][j]=1; helper(arr, n, r+1); arr[r][j]=0; } } return; //backtracking } private static void PrintBoard(int[][] arr) { for(int i=0;i<arr.length;i++) { for(int j=0;j<arr.length;j++) { System.out.print(arr[i][j]+" "); } System.out.println(); } } private static boolean isvalid(int[][] arr, int r, int j) { for(int i=r-1,ji=j-1;i>=0&&ji>=0;i--,j--) { if(arr[i][ji]==1) { return false; } } for(int i=r+1,ji=j+1;i<arr.length&&ji<arr.length;i++,j++) { if(arr[i][ji]==1) { return false; } } for(int i=r-1,ji=j+1;i>=0&&j<arr.length;i--,j++) { if(arr[i][ji]==1) { return false; } } for(int i=r+1,ji=j-1;i<arr.length&&ji>=0;i++,j--) { if(arr[i][ji]==1) { return false; } } for(int i=r-1;i>=0;i--) { if(arr[i][j]==1) { return false; } } for(int i=r+1;i<arr.length;i++) { if(arr[i][j]==1) { return false; } } return true; } }

4th Jul 2023, 4:56 PM
subrat yadav
2 Answers
+ 4
What is the desired output?
4th Jul 2023, 5:25 PM
JaScript
JaScript - avatar
5th Jul 2023, 4:02 AM
Bob_Li
Bob_Li - avatar