package com.NodePair;
import java.util.ArrayList;
public class Queens {
int gridsize=8;
public static boolean ValidCheck(Integer[] columns,int row1,int column1)
{
for(int row2=0;row2<row1;row2++)
{
int column2=columns[row2];
if(column2==column1)
return false;
int columndistance=column2-column1;
int rowdistance=row1-row2;
if(Math.abs(columndistance)==rowdistance)
return false;
}
return true;
}
public void placeQueen(int row,Integer[] columns,ArrayList<Integer[]> results)
{
if(row==gridsize)
results.add(columns.clone());
for(int column=0;column<gridsize;column++)
{
if(ValidCheck(columns,row,column))
{
columns[row]=column;
placeQueen(row+1,columns,results);
}
}
}
}
import java.util.ArrayList;
public class Queens {
int gridsize=8;
public static boolean ValidCheck(Integer[] columns,int row1,int column1)
{
for(int row2=0;row2<row1;row2++)
{
int column2=columns[row2];
if(column2==column1)
return false;
int columndistance=column2-column1;
int rowdistance=row1-row2;
if(Math.abs(columndistance)==rowdistance)
return false;
}
return true;
}
public void placeQueen(int row,Integer[] columns,ArrayList<Integer[]> results)
{
if(row==gridsize)
results.add(columns.clone());
for(int column=0;column<gridsize;column++)
{
if(ValidCheck(columns,row,column))
{
columns[row]=column;
placeQueen(row+1,columns,results);
}
}
}
}