題目鏈結
題解:可以預處理出已經填數字比較密集的區域開始搜尋來減少後續決策數
#include
#include
#include
using
namespace
std;
const
int n=9;
int s,tot,ans;
int a[10][10];
struct dataf[10][10];
int fen[10][10]=,//分數表 ,,
,,,,
,,
};int search(int i,int j)
if(i>3&&i<=6)
if(i>6&&i<=9)
}void dfs(int x,int y)
if(x==0)//若搜尋到x=1,y=0時,更新最大值,此時x-1=0
ans=tot>ans?tot:ans;
if(a[x][y]==0)}}
else dfs(x,y-1);
}int main()
}tot=ans;
dfs(n,n);
if(ans==tot) cout
<<"-1"
cout
0;}
以後再寫 靶形數獨(codevs 1174)
2009年noip全國聯賽提高組 時間限制 4 s 空間限制 128000 kb 題目等級 鑽石 diamond 題解檢視執行結果 小城和小華都是熱愛數學的好學生,最近,他們不約而同地迷上了數獨遊戲,好勝的他 們想用數獨來一比高低。但普通的數獨對他們來說都過於簡單了,於是他們向z 博士請教,z 博士...
codevs1174 靶形數獨
從wyh大佬那裡蹭來了乙份dlx的題解,然後進行了一番深刻的理解,最後自己手打了一遍,感覺受益頗多,最主要的是這個 融合了很多卡常技巧2333333333 和普通的dfs不同,這份 從根進行剪枝,每一層都取方案數最小的位置進行搜尋,因而得到十分顯著的優化,原來乙個點4s的題,現在20個點總共用時加起...
靶形數獨 (codevs 1174)題解
問題描述 小城和小華都是熱愛數學的好學生,最近,他們不約而同地迷上了數獨遊戲,好勝的他們想用數獨來一比高低。但普通的數獨對他們來說都過於簡單了,於是他們向z 博士請教,z 博士拿出了他最近發明的 靶形數獨 作為這兩個孩子比試的題目。靶形數獨的方格同普通數獨一樣,在 9 格寬 9 格高的大九宮格中有9...