傳送門
luogu
這題其實挺簡單的。
首先要熟悉數獨,我們應該要優先搜尋限制條件多的行,也就是可能方案少的行,顯然這樣可以剪枝,然後再發揮一下dfs的基本功就可以了。
#include #include #include #include #include #include #include #include #define rg register
using namespace std;
template < typename t > inline void read(t& s)
const int s[10][10] = ,
, ,, ,
, ,, , };
const int p[10][10] = ,
, ,, ,
, ,, ,
, };
struct node a[10];
inline bool cmp(const node& x, const node& y)
int ans = -1, mp[10][10]; bool line[10][10], clmn[10][10], palc[10][10];
inline void dfs(int i, int j, int line, int sum)
if (j == 10)
if (mp[i][j])
for (rg int x = 1; x <= 9; ++x)
}int main()
sort(a + 1, a + 10, cmp);
dfs(a[1].id, 1, 0, tmp);
printf("%d\n", ans);
return 0;
}
完結撒花\(qwq\) NOIP2009 靶形數獨
爆搜沒什麼好說的。剪枝思路 一開始將每個點可能取的值的數量統計出,排序,從小到大搜 然後貪心可行性 就是剩下的地方都填9,得分10 不過在vj上測85。日。加了卡時,2e7次之內跳出,總算過了。include include include include include include inclu...
NOIP 2009 靶形數獨
題目描述 小城和小華都是熱愛數學的好學生,最近,他們不約而同地迷上了數獨遊戲,好勝的他們想用數獨來一比高低。但普通的數獨對他們來說都過於簡單了,於是他們向 z 博士請教,z 博士拿出了他最近發明的 靶形數獨 作為這兩個孩子比試的題目。靶形數獨的方格同普通數獨一樣,在 9 格寬 9 格高的大九宮格中有...
noip2009 靶形數獨
靶形數獨 小城和小華都是熱愛數學的好學生,最近,他們不約而同地迷上了數獨遊戲,好勝的他 們想用數獨來一比高低。但普通的數獨對他們來說都過於簡單了,於是他們向 z 博士請教,z 博士拿出了他最近發明的 靶形數獨 作為這兩個孩子比試的題目。靶形數獨的方格同普通數獨一樣,在 9 格寬 9 格高的大九宮格中...