數獨題 直接用的DFS 但是從前面搜會超時 要從后面搜 我不知道為什么 跟數據有關嗎? MMD講過做數獨有種非常強大的方法 dancing links
現在還看不懂 也不會寫 一步步來吧
POJ 上有很多數獨題 以后慢慢切掉
int dfs(int x)
{
??? if(x==-1) return 1;
??? int i;
??? if(a[x/n][x%n]!=0) return dfs(x-1);
??? else
??? {
??? ??? for(i=1;i<=n;i++)
??? ??? {
??? ??? ??? a[x/n][x%n]=i;
??? ??? ??? if(check(x/n,x%n))
??? ??? ??? ??? if(dfs(x-1)) return 1;
??? ??? ??? a[x/n][x%n]=0;
??? ??? }
??? }
??? return 0;
}