您的位置:首页 > 编程语言 > Java开发

八皇后 java实现

2015-01-01 10:47 169 查看
实现代码:

package algorithm;

public class epr1
{
public int num=1;
public static void main(String[] args)
{
int a[]=new int[8];
epr1 e=new epr1();
e.search(0, 0, a);
}

public void search(int row,int col,int []a)
{
if(row==8) //当第八行放置完后,即得到了一种方案
{
System.out.println("第"+num+"方案:");
print(a);
num++;
}
else
{
for(int i=col;i<8;i++)
{
a[row]=i;
if(check(row,a))//判断是否有冲突
{
search(row+1,0,a);//没有冲突则继续放下一行
}
}
}
}

public boolean check(int row,int []a)
{
for(int i=0;i<row;i++)
{
if(a[row]==a[i]||(Math.abs(row-i)==Math.abs(a[row]-a[i])))//判断是否在同一列上和同一对角线上
return false;
}
return true;
}

public static void print(int []a)
{
for(int i=0;i<8;i++)
{
System.out.print(i+"行"+a[i]+"列"+"\t");
}
System.out.println();
}

}
输出结果:

第1种方案:

0行0列 1行4列
2行7列 3行5列
4行2列 5行6列
6行1列 7行3列

第2种方案:

0行0列 1行5列
2行7列 3行2列
4行6列 5行3列
6行1列 7行4列

第3种方案:

0行0列 1行6列
2行3列 3行5列
4行7列 5行1列
6行4列 7行2列

第4种方案:

0行0列 1行6列
2行4列 3行7列
4行1列 5行3列
6行5列 7行2列

第5种方案:

0行1列 1行3列
2行5列 3行7列
4行2列 5行0列
6行6列 7行4列

第6种方案:

0行1列 1行4列
2行6列 3行0列
4行2列 5行7列
6行5列 7行3列

第7种方案:

0行1列 1行4列
2行6列 3行3列
4行0列 5行7列
6行5列 7行2列

第8种方案:

0行1列 1行5列
2行0列 3行6列
4行3列 5行7列
6行2列 7行4列

第9种方案:

0行1列 1行5列
2行7列 3行2列
4行0列 5行3列
6行6列 7行4列

第10种方案:

0行1列 1行6列
2行2列 3行5列
4行7列 5行4列
6行0列 7行3列

第11种方案:

0行1列 1行6列
2行4列 3行7列
4行0列 5行3列
6行5列 7行2列

第12种方案:

0行1列 1行7列
2行5列 3行0列
4行2列 5行4列
6行6列 7行3列

第13种方案:

0行2列 1行0列
2行6列 3行4列
4行7列 5行1列
6行3列 7行5列

第14种方案:

0行2列 1行4列
2行1列 3行7列
4行0列 5行6列
6行3列 7行5列

第15种方案:

0行2列 1行4列
2行1列 3行7列
4行5列 5行3列
6行6列 7行0列

第16种方案:

0行2列 1行4列
2行6列 3行0列
4行3列 5行1列
6行7列 7行5列

第17种方案:

0行2列 1行4列
2行7列 3行3列
4行0列 5行6列
6行1列 7行5列

第18种方案:

0行2列 1行5列
2行1列 3行4列
4行7列 5行0列
6行6列 7行3列

第19种方案:

0行2列 1行5列
2行1列 3行6列
4行0列 5行3列
6行7列 7行4列

第20种方案:

0行2列 1行5列
2行1列 3行6列
4行4列 5行0列
6行7列 7行3列

第21种方案:

0行2列 1行5列
2行3列 3行0列
4行7列 5行4列
6行6列 7行1列

第22种方案:

0行2列 1行5列
2行3列 3行1列
4行7列 5行4列
6行6列 7行0列

第23种方案:

0行2列 1行5列
2行7列 3行0列
4行3列 5行6列
6行4列 7行1列

第24种方案:

0行2列 1行5列
2行7列 3行0列
4行4列 5行6列
6行1列 7行3列

第25种方案:

0行2列 1行5列
2行7列 3行1列
4行3列 5行0列
6行6列 7行4列

第26种方案:

0行2列 1行6列
2行1列 3行7列
4行4列 5行0列
6行3列 7行5列

第27种方案:

0行2列 1行6列
2行1列 3行7列
4行5列 5行3列
6行0列 7行4列

第28种方案:

0行2列 1行7列
2行3列 3行6列
4行0列 5行5列
6行1列 7行4列

第29种方案:

0行3列 1行0列
2行4列 3行7列
4行1列 5行6列
6行2列 7行5列

第30种方案:

0行3列 1行0列
2行4列 3行7列
4行5列 5行2列
6行6列 7行1列

第31种方案:

0行3列 1行1列
2行4列 3行7列
4行5列 5行0列
6行2列 7行6列

第32种方案:

0行3列 1行1列
2行6列 3行2列
4行5列 5行7列
6行0列 7行4列

第33种方案:

0行3列 1行1列
2行6列 3行2列
4行5列 5行7列
6行4列 7行0列

第34种方案:

0行3列 1行1列
2行6列 3行4列
4行0列 5行7列
6行5列 7行2列

第35种方案:

0行3列 1行1列
2行7列 3行4列
4行6列 5行0列
6行2列 7行5列

第36种方案:

0行3列 1行1列
2行7列 3行5列
4行0列 5行2列
6行4列 7行6列

第37种方案:

0行3列 1行5列
2行0列 3行4列
4行1列 5行7列
6行2列 7行6列

第38种方案:

0行3列 1行5列
2行7列 3行1列
4行6列 5行0列
6行2列 7行4列

第39种方案:

0行3列 1行5列
2行7列 3行2列
4行0列 5行6列
6行4列 7行1列

第40种方案:

0行3列 1行6列
2行0列 3行7列
4行4列 5行1列
6行5列 7行2列

第41种方案:

0行3列 1行6列
2行2列 3行7列
4行1列 5行4列
6行0列 7行5列

第42种方案:

0行3列 1行6列
2行4列 3行1列
4行5列 5行0列
6行2列 7行7列

第43种方案:

0行3列 1行6列
2行4列 3行2列
4行0列 5行5列
6行7列 7行1列

第44种方案:

0行3列 1行7列
2行0列 3行2列
4行5列 5行1列
6行6列 7行4列

第45种方案:

0行3列 1行7列
2行0列 3行4列
4行6列 5行1列
6行5列 7行2列

第46种方案:

0行3列 1行7列
2行4列 3行2列
4行0列 5行6列
6行1列 7行5列

第47种方案:

0行4列 1行0列
2行3列 3行5列
4行7列 5行1列
6行6列 7行2列

第48种方案:

0行4列 1行0列
2行7列 3行3列
4行1列 5行6列
6行2列 7行5列

第49种方案:

0行4列 1行0列
2行7列 3行5列
4行2列 5行6列
6行1列 7行3列

第50种方案:

0行4列 1行1列
2行3列 3行5列
4行7列 5行2列
6行0列 7行6列

第51种方案:

0行4列 1行1列
2行3列 3行6列
4行2列 5行7列
6行5列 7行0列

第52种方案:

0行4列 1行1列
2行5列 3行0列
4行6列 5行3列
6行7列 7行2列

第53种方案:

0行4列 1行1列
2行7列 3行0列
4行3列 5行6列
6行2列 7行5列

第54种方案:

0行4列 1行2列
2行0列 3行5列
4行7列 5行1列
6行3列 7行6列

第55种方案:

0行4列 1行2列
2行0列 3行6列
4行1列 5行7列
6行5列 7行3列

第56种方案:

0行4列 1行2列
2行7列 3行3列
4行6列 5行0列
6行5列 7行1列

第57种方案:

0行4列 1行6列
2行0列 3行2列
4行7列 5行5列
6行3列 7行1列

第58种方案:

0行4列 1行6列
2行0列 3行3列
4行1列 5行7列
6行5列 7行2列

第59种方案:

0行4列 1行6列
2行1列 3行3列
4行7列 5行0列
6行2列 7行5列

第60种方案:

0行4列 1行6列
2行1列 3行5列
4行2列 5行0列
6行3列 7行7列

第61种方案:

0行4列 1行6列
2行1列 3行5列
4行2列 5行0列
6行7列 7行3列

第62种方案:

0行4列 1行6列
2行3列 3行0列
4行2列 5行7列
6行5列 7行1列

第63种方案:

0行4列 1行7列
2行3列 3行0列
4行2列 5行5列
6行1列 7行6列

第64种方案:

0行4列 1行7列
2行3列 3行0列
4行6列 5行1列
6行5列 7行2列

第65种方案:

0行5列 1行0列
2行4列 3行1列
4行7列 5行2列
6行6列 7行3列

第66种方案:

0行5列 1行1列
2行6列 3行0列
4行2列 5行4列
6行7列 7行3列

第67种方案:

0行5列 1行1列
2行6列 3行0列
4行3列 5行7列
6行4列 7行2列

第68种方案:

0行5列 1行2列
2行0列 3行6列
4行4列 5行7列
6行1列 7行3列

第69种方案:

0行5列 1行2列
2行0列 3行7列
4行3列 5行1列
6行6列 7行4列

第70种方案:

0行5列 1行2列
2行0列 3行7列
4行4列 5行1列
6行3列 7行6列

第71种方案:

0行5列 1行2列
2行4列 3行6列
4行0列 5行3列
6行1列 7行7列

第72种方案:

0行5列 1行2列
2行4列 3行7列
4行0列 5行3列
6行1列 7行6列

第73种方案:

0行5列 1行2列
2行6列 3行1列
4行3列 5行7列
6行0列 7行4列

第74种方案:

0行5列 1行2列
2行6列 3行1列
4行7列 5行4列
6行0列 7行3列

第75种方案:

0行5列 1行2列
2行6列 3行3列
4行0列 5行7列
6行1列 7行4列

第76种方案:

0行5列 1行3列
2行0列 3行4列
4行7列 5行1列
6行6列 7行2列

第77种方案:

0行5列 1行3列
2行1列 3行7列
4行4列 5行6列
6行0列 7行2列

第78种方案:

0行5列 1行3列
2行6列 3行0列
4行2列 5行4列
6行1列 7行7列

第79种方案:

0行5列 1行3列
2行6列 3行0列
4行7列 5行1列
6行4列 7行2列

第80种方案:

0行5列 1行7列
2行1列 3行3列
4行0列 5行6列
6行4列 7行2列

第81种方案:

0行6列 1行0列
2行2列 3行7列
4行5列 5行3列
6行1列 7行4列

第82种方案:

0行6列 1行1列
2行3列 3行0列
4行7列 5行4列
6行2列 7行5列

第83种方案:

0行6列 1行1列
2行5列 3行2列
4行0列 5行3列
6行7列 7行4列

第84种方案:

0行6列 1行2列
2行0列 3行5列
4行7列 5行4列
6行1列 7行3列

第85种方案:

0行6列 1行2列
2行7列 3行1列
4行4列 5行0列
6行5列 7行3列

第86种方案:

0行6列 1行3列
2行1列 3行4列
4行7列 5行0列
6行2列 7行5列

第87种方案:

0行6列 1行3列
2行1列 3行7列
4行5列 5行0列
6行2列 7行4列

第88种方案:

0行6列 1行4列
2行2列 3行0列
4行5列 5行7列
6行1列 7行3列

第89种方案:

0行7列 1行1列
2行3列 3行0列
4行6列 5行4列
6行2列 7行5列

第90种方案:

0行7列 1行1列
2行4列 3行2列
4行0列 5行6列
6行3列 7行5列

第91种方案:

0行7列 1行2列
2行0列 3行5列
4行1列 5行4列
6行6列 7行3列

第92种方案:

0行7列 1行3列
2行0列 3行2列
4行5列 5行1列
6行6列 7行4列
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: