一百皇后问题??
来源:互联网 发布:手机版饥荒怎么改数据 编辑:程序博客网 时间:2024/06/09 23:47
class Test2
...{
static int n;
static int x[];
static boolean flag=true;
public static void main(String[] args) throws Exception
...{
nQueen(100);
}
public static boolean QueensLV(int stopVegas)
...{
int k=1;
int count=1;
while((k<=stopVegas)&&(count>0))
...{
count=0;
int j=0;
for(int i=1;i<=n;i++)
...{
x[k]=i;
if(Place(k))
if((int)(Math.random()*(++count))==0)j=i;
}
if(count>0)x[k++]=j;
}
return (count>0);
}
public static boolean Place(int k)
...{
for(int j=1;j<k;j++)
if((Math.abs(k-j)==Math.abs(x[j]-x[k]))||(x[j]==x[k]))return false;
return true;
}
public static void nQueen(int m)
...{
n=m;
int q[]=new int[n+1];
x=q;
int stop=80;//允许随机放置的个数
while(!QueensLV(stop));
Backtrack(stop+1); //回溯
}
public static void Backtrack(int t)
...{
if(flag)...{
if(t>n)...{
for(int i=1;i<=n;i++)
System.out.print(x[i]+" ");
flag=false;
return;
}
else
for(int i=1;i<=n;i++)...{
x[t]=i;
if(Place(t))Backtrack(t+1);
}
}
}
}
...{
static int n;
static int x[];
static boolean flag=true;
public static void main(String[] args) throws Exception
...{
nQueen(100);
}
public static boolean QueensLV(int stopVegas)
...{
int k=1;
int count=1;
while((k<=stopVegas)&&(count>0))
...{
count=0;
int j=0;
for(int i=1;i<=n;i++)
...{
x[k]=i;
if(Place(k))
if((int)(Math.random()*(++count))==0)j=i;
}
if(count>0)x[k++]=j;
}
return (count>0);
}
public static boolean Place(int k)
...{
for(int j=1;j<k;j++)
if((Math.abs(k-j)==Math.abs(x[j]-x[k]))||(x[j]==x[k]))return false;
return true;
}
public static void nQueen(int m)
...{
n=m;
int q[]=new int[n+1];
x=q;
int stop=80;//允许随机放置的个数
while(!QueensLV(stop));
Backtrack(stop+1); //回溯
}
public static void Backtrack(int t)
...{
if(flag)...{
if(t>n)...{
for(int i=1;i<=n;i++)
System.out.print(x[i]+" ");
flag=false;
return;
}
else
for(int i=1;i<=n;i++)...{
x[t]=i;
if(Place(t))Backtrack(t+1);
}
}
}
}
- 一百皇后问题??
- 问题一百四十:鞍点
- 问题一百四十四:EGypt
- 皇后问题
- 皇后问题
- 皇后问题
- 皇后问题
- 皇后问题
- 皇后问题
- 皇后问题!
- 皇后问题
- 皇后问题
- 皇后问题
- 皇后问题
- 八皇后 n皇后 问题
- 八皇后N皇后问题
- 问题一百:求数列之和
- 问题一百零一十:数列求和
- RMI例子
- 找合适的人真难
- Strutsメモ
- 《Java与模式》学习笔记:设计模式——原则
- SQL常用语句备忘录(基础)
- 一百皇后问题??
- 在Tomcat建立SSL
- Eclipse的Tomcat插件安装
- World Wide Web Publishing Service
- JMS消息简明教程
- 利用j2meAPI发送短信示例
- 和色大辞典
- 设计垂直切片的意义
- token 在struts里的使用详解!!!!!!!!!