📄 queen.java
字号:
public class Queen
{
public static void f(int [][]a,int start_line,int []counter)
{
if(start_line==8)
{
counter[0]++;
System.out.println("Solution No."+counter[0]+":");
for(int i=0;i<8;i++)
{
for(int j=0;j<8;j++)
if(a[i][j]==1)
System.out.print(" Q ");
else
System.out.print(" * ");
System.out.println();
}
System.out.println();
}
else
for(int i=0;i<8;i++)
{
if(a[start_line][i]==0)
{
a[start_line][i]=1;
for(int x=i+1,y=start_line+1;y<8&&x<8;x++,y++)
a[y][x]=a[y][x]+2;
for(int x=i-1,y=start_line+1;y<8&&x>=0;x--,y++)
a[y][x]=a[y][x]+2;
for(int x=i,y=start_line+1;y<8;y++)
a[y][x]=a[y][x]+2;
f(a,start_line+1,counter);
a[start_line][i]=0;
for(int x=i+1,y=start_line+1;y<8&&x<8;x++,y++)
a[y][x]=a[y][x]-2;
for(int x=i-1,y=start_line+1;y<8&&x>=0;x--,y++)
a[y][x]=a[y][x]-2;
for(int x=i,y=start_line+1;y<8;y++)
a[y][x]=a[y][x]-2;
}
}
}
/**
* @param args
*/
public static void main(String[] args)
{
// TODO Auto-generated method stub
//int taken=1;
//int forbidden=2;
int [][]a=new int [8][8];
int []counter=new int[1];
counter[0]=0;
for(int i=0;i<8;i++)
for(int j=0;j<8;j++)
a[i][j]=0;
f(a,0,counter);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -