寻找汉密尔顿回路(java版)
来源:互联网 发布:数据分组分析法案例 编辑:程序博客网 时间:2024/04/28 09:30
package hg;
public class Hanmierdun {
//结点的个数
public int n =5;
public int b[] = new int[5];
//是否已经经过该结点
public boolean used[] = new boolean[5];
//是否已经全部走过
public boolean cc = false;
public static void main(String args[]){
//汉密尔顿连接图
int a[][]={{0,1,1,1,0},
{1,0,1,0,1},
{1,1,0,1,0},
{1,0,1,0,1},
{0,1,0,1,0}
};
Hanmierdun aa = new Hanmierdun();
aa.dfs(a, 0, 0);
}
private void dfs(int a[][],int count,int m){
//如果所有的结点都已经走过且最后一个结点和开始的结点是相通的
if(count>=this.n&&a[b[count-1]][0]==1){
//输出经过的结点次序
for(int i=0;i<b.length;i++){
System.out.print(b[i]+1);
}
System.out.println();
cc=true;
return;
}
else{
for(int j=0;j<a[m].length;j++){
//如果联通且未经过
if(a[m][j]==1&&used[m]==false){
//设置为已经通过
used[m] = true;
b[count] = m;
count = count+1;
dfs(a,count,j);
//设置为未通过
used[m] = false;
count = count-1;
if(cc){
cc=false;
return;
}
}
}
}
}
}
- 寻找汉密尔顿回路(java版)
- POJ-1300(汉密尔顿回路)
- 汉密尔顿回路求解
- 汉密尔顿回路问题
- 【NPC】11、汉密尔顿路径规约到汉密尔顿回路
- 【NPC】12、汉密尔顿回路规约到汉密尔顿路径
- 最小汉密尔顿回路问题 状态压缩dp
- 【NPC】10、无向汉密尔顿回路规约到有向汉密尔顿回路
- 【NPC】23、有向汉密尔顿回路规约到无向汉密尔顿回路
- 【NPC】9、顶点覆盖规约到无向汉密尔顿回路
- 【NPC】16、汉密尔顿回路问题规约到旅行商问题
- 【NPC】24、3SAT规约到有向汉密尔顿回路
- 如何寻找欧拉回路、欧拉通路(套圈法)
- 如何寻找欧拉回路、欧拉通路(套圈法)
- POJ 3259 Wormholes (寻找负权回路)
- 汉密尔顿路径(哈密顿路径)解析
- 汉密尔顿路径(哈密顿路径)解析
- HDU 4337 King Arthur's Knights 稠密图构造汉密尔顿回路
- Android中的onTouch()事件如何区分单击事件和滑动事件
- vc真彩工具条的实现
- single number
- 微信加入“微社区” Discuz!发力移动社交
- poj-1325
- 寻找汉密尔顿回路(java版)
- vsnprintf 打印变长参数
- JQuery了。。。
- 前台创建多个name 一样的名称 用String[] 传到 控制器
- Android工程打包第三方jar包和so方法
- (一)无显示器无键盘无路由器,最简方式配置树莓派
- The declared package "" does not match the expected package "javaControlSql"
- 直升机思维
- Access、Hybrid和Trunk三种模式的理解