java的dance links解数独

前几天看到有人在ndsl上面玩数独,我对这个游戏算是一窍不通了。。。每次都玩不出。。。记得早些时候还在训练的时候,我们学过一个算法叫做dance links,当时一直不理解,于是直接拿了小丽的代码过来,这次又把那个代码打成了java版本,这里理解算是上了一个档次,呵呵,可惜我已经不再战斗~
数独的解法里面dance links算是最高效的一种了,基本上有解的数独都可以在1s之内解出来吧,明后天我打算试试把这个包装成可视化的程序,写个解数独快手,然后就可以去MM面前耍帅了~哈哈哈(邪恶的笑)

package com.zerob13.Sudoku; import java.util.; /* * @author yanglingfeng * / class node{ public int x,y,l,r,u,d; public int sum; public int f; public char now; public node(){ x=0; y=0; l=0; r=0; u=0; d=0; sum=0; f=0; now=0; } } public class Sudoku { private int n,m; private int cnt; private char[][] map; private int x; private int y; private char nn; node[] p; public Sudoku(){ n=999+1; m=99*4+1; int i,j,k; boolean[][] row,col,cube; row=new boolean[9][19]; col=new boolean[9][19]; cube=new boolean[9][19]; map=new char[29][29]; Scanner read=new Scanner(System.in); String a; int L=0; for(i=0;i测试用的包含main的文件就不发了,没什么意义。。。
即使是java下面运行,dance links还是非常迅速,基本上就是秒杀的。。。
当然我承认,我的代码风格有些怪异,所以在格式还是有很多需要注意的地方的,或者说对封装还是有一定的理解偏差吧。