📄 nqueens.java
字号:
public class Nqueens {
//static int k ;
static int[] X = {0,0,0,0,0,0};
public static int Absolute_value(int i){
if(i<0)
return -i;
else
return i;
}
public static int Place(int k){
for(int i=0;i<k;i++){
if(X[i]==X[k] || Absolute_value(X[i]-X[k])==Absolute_value(i-k))
return -1;
else
return 1;
}
return 0;
}
public static void Sub_queen(int n){
X[0]=1;
int k =1;
while(k>0){
while(X[k]<n&&k<n){
if(Place(k)==1){
k+=1;
X[k]=1;
}
else
X[k]+=1;
}
k=k-1;
X[k]=X[k]+1;
if(k==0&&X[0]<=n)
k+=1;
}
}
public static void main(String[] args) {
//int n;
//System.out.println("input the number of the queens");
/*try {
n = System.in.read();
System.out.println(n);
Sub_queen(n);
for(int i =0;i<n;i++){
System.out.println("第"+i+1+"行皇后放在第"+X[i]+1+"列处。");
}
} catch (IOException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}*/
Sub_queen(5);
for(int i =0;i<5;i++){
System.out.println("第"+(i+1)+"行皇后放在第"+X[i]+"列处。");
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -