爆搜沒什麼好說的。。。
剪枝思路:
一開始將每個點可能取的值的數量統計出,排序,從小到大搜
然後貪心可行性(就是剩下的地方都填9,得分10)
不過在vj上測85。。。日。。加了卡時,2e7次之內跳出,總算過了。。。
#include#include#include#include#include#include#include#includeusing namespace std;
const int maxn = 10;
const int dx[8] = ;
const int dy[8] = ;
int ans,cnt,sc[maxn][maxn],p[maxn][maxn],a[maxn][maxn][maxn],tot[maxn][maxn];
int sbvijos = 0;
struct p
}b[maxn*maxn];
queue q;
void modify(int x,int y,int now,int add)
void dfs(int now,int sum)
int x = b[now].x,y = b[now].y;
for (int i = 1; i <= 9; i++)
if (!a[x][y][i])
}int main()
); while (!q.empty()) );
} }for (int i = 1; i <= 9; i++)
for (int j = 1; j <= 9; j++)
for (int i = 1; i <= 9; i++)
for (int j = 1; j <= 9; j++)
if (!p[i][j]) ;
for (int l = 1; l <= 9; l++)
if (!a[i][j][l]) ++tot[i][j];
}int orz = ans;
sort(b,b + cnt);
dfs(0,ans);
if (ans > orz) cout << ans;
else cout << -1;
return 0;
}
NOIP 2009 靶形數獨
題目描述 小城和小華都是熱愛數學的好學生,最近,他們不約而同地迷上了數獨遊戲,好勝的他們想用數獨來一比高低。但普通的數獨對他們來說都過於簡單了,於是他們向 z 博士請教,z 博士拿出了他最近發明的 靶形數獨 作為這兩個孩子比試的題目。靶形數獨的方格同普通數獨一樣,在 9 格寬 9 格高的大九宮格中有...
noip2009 靶形數獨
靶形數獨 小城和小華都是熱愛數學的好學生,最近,他們不約而同地迷上了數獨遊戲,好勝的他 們想用數獨來一比高低。但普通的數獨對他們來說都過於簡單了,於是他們向 z 博士請教,z 博士拿出了他最近發明的 靶形數獨 作為這兩個孩子比試的題目。靶形數獨的方格同普通數獨一樣,在 9 格寬 9 格高的大九宮格中...
靶形數獨 NOIP2009
小城和小華都是熱愛數學的好學生,最近,他們不約而同地迷上了數獨遊戲,好勝的他們想用數獨來一比高低。但普通的數獨對他們來說都過於簡單了,於是他們向 z 博士請教,z 博士拿出了他最近發明的 靶形數獨 作為這兩個孩子比試的題目。靶形數獨的方格同普通數獨一樣,在 9 格寬 9 格高的大九宮格中有9 個 3...