问个算法问题(送100分) 用Java如何实现模拟退火算法解决地图着色问题?最好能给出个源代码或者讲讲具体实现也行。其他方法Hill Climing或者Ant也可以。一直没研究明白:-(地图着色问题:给地图着色,相邻区域颜色不能重复。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://java.linuxjiaocheng.com/applet-api/sdk-tutorial/xml-jsp-programming200.html public class Coloring{ private int colors; private boolean [][]map; private int []x; private long sum; //解法种数 public Coloring(boolean map[][],int colors) { this.map=map; this.colors=colors; x=new int[map[0].length]; } public long mColoring() { backtrack(1); return sum; } private void backtrack(int t) { int n=map[0].length; if(t>n) { sum ; print(sum); } else { for(int i=1;i<=colors;i ) { x[t-1]=i; if(ok(t)) backtrack(t 1); } } } private boolean ok(int k) { for(int j=0;j<k-1;j ) { if(map[k-1][j]&&(x[j]==x[k-1])) return false; } return true; } private void print(long n) { System.out.println("第" n "种方案:"); for(int i=0;i<x.length;i ) System.out.println("第" (i 1) "个结点的颜色是:" x[i]); System.out.println(); } public static void main(String []args) { boolean [][] map={{false,true,false,true}, {true,false,true,false}, {false,true,false,true}, {true,false,true,false} }; int colors=3; Coloring mc=new Coloring(map,colors); System.out 这个是masse 当午给你们回的好好看下吧 将连续的数值连接在一起,用"-"连接连续数值的最小数和最大数,用逗号分隔序列 阿里云本科毕业生的工资? 一个关于NIO和传统线程池方式性能的比较问题~ list迭代相加的问题 关于getClass()方法的问题 整形转二进制的问题 紧急求助!!!珍贵资料奉送!!!在线等` 刚学java,这些错误的提示是表示什么意思? 招聘信息 请问我如何用程序获取系统classpath路径的内容 帮忙,万分感谢 在java 中如何将 2007-04-25 16:55:29.0 变成 2007-04-25 16:55:29,请教大虾
这个是masse 当午给你们回的好好看下吧