description
there is really only one rule:
fill in the grid so that
every row,
every column, and
every 3 x 3 box
contains the digits 1 through 9.
這個遊戲只有乙個規則:
將格仔填滿使得
每一行,
每一列,和
每乙個小的九宮格
恰好包含1-9這9個數字
正是由於規則簡單而又變化多端,數獨一時間風靡全球。
現在,我們希望你能編寫乙個程式解決數獨問題。
input
輸入資料一共9行,每行有9個字元。
輸入資料描述了乙個待解決的數獨,其中,「?」表示數獨中的空缺。
我們的輸入資料總保證有唯一解。
output
輸出一共9行,每行9個數字,表示你的答案。
sample input
5????7??6
?6????5?4
?834?????
???182?4?
??1???9??
?7?369???
?????543?
1?5????9?
7??2????1
sample output
514927386
967831524
283456179
659182743
321574968
478369215
892615437
135748692
746293851
題庫裡唯一一道數獨:
。。 暴力解法都能過,
剛學了dlx。
拿來練練手。
dlx的詳細資料網上都有,
我也就不獻醜了。
我模仿的劉汝佳的風格。
挺優美的。
**如下:
#include
#include
#include
#include
#include
#include
using
namespace
std;
int slot=0;
int row=1;
int con=2;
int sub=3;
const
int maxn=9*9*4*9*9*9;
int u[maxn];
int d[maxn];
int r[maxn];
int l[maxn];
int s[9*9*4];
int row[maxn];
int con[maxn];
int size=0;
int yama(int a,int b,int c)
int jiema(int val,int &a,int &b,int &c)
void init(int n)
l[0]=n;
r[n]=0;
size=n+1;
}void ins(int r,vector
q)l[first]=size-1;r[size-1]=first;
}void del(int v)
}void restore(int v)
r[l[v]]=v;
l[r[v]]=v;
}int ans[9*9];
int map[10][10];
void print()
for(int i=0;i<9;i++)
printf("\n");
}bool dfs(int d)
int c=r[0];
for(int i=r[0];i!=0;i=r[i])if(s[i]for(int i=d[c];i!=c;i=d[i])
restore(c);
return
false;
}char ch[12][12];
int main()
if(dfs(0));
print();
return
0;}
模擬 數獨問題 BSOJ 1204
xx學校風靡一款智力遊戲,也就是數獨 九宮格 先給你乙個數獨,並需要你驗證是否符合規則。具體規則如下 每一行都用到1,2,3,4,5,6,7,8,9,位置不限,每一列都用到1,2,3,4,5,6,7,8,9,位置不限,每3 3的格仔 共九個這樣的格仔 都用到1,2,3,4,5,6,7,8,9,位置不...
藍橋歷屆試題 數獨
你一定聽說過 數獨 遊戲。如 圖1.png 玩家需要根據9 9盤面上的已知數字,推理出所有剩餘空格的數字,並滿足每一行 每一列 每乙個同色九宮內的數字均含1 9,不重複。數獨的答案都是唯一的,所以,多個解也稱為無解。本圖的數字據說是芬蘭數學家花了3個月的時間設計出來的較難的題目。但對會使用計算機程式...
XDU 1035 數獨 (模擬)
時間限制 1 sec 記憶體限制 128 mb 提交 狀態 討論版 數獨是一種非常古老的遊戲,其規則如下 在乙個9 9的方格中,每行都是從1到9不重複的數字,每列都是從1到9不重複的數字。即在9個互不重疊的3 3方格中放入從1到9的不重複的數字。現在,方格中已經有些數字,遊戲者需要填寫剩下的數字使之...