題目描述
數獨是根據9×9盤面上的已知數字,推理出所有剩餘空格的數字,並滿足每一行、每一列、每乙個粗線宮內的數字均含1-9,不重複。每一道合格的數獨謎題都有且僅有唯一答案,推理方法也以此為基礎,任何無解或多解的題目都是不合格的。
芬蘭一位數學家號稱設計出全球最難的「數獨遊戲」,並刊登在報紙上,讓大家去挑戰。
這位數學家說,他相信只有「智慧型最頂尖」的人才有可能破解這個「數獨之謎」。
據介紹,目前數獨遊戲的難度的等級有一道五級,一是入門等級,五則比較難。不過這位數學家說,他所設計的數獨遊戲難度等級是十一,可以說是所以數獨遊戲中,難度最高的等級他還表示,他目前還沒遇到解不出來的數獨遊戲,因此他認為「最具挑戰性」的數獨遊戲並沒有出現。
輸入格式
乙個未填的數獨
輸出格式
填好的數獨
輸入輸出樣例
輸入 #1 複製
8 0 0 0 0 0 0 0 0
0 0 3 6 0 0 0 0 0
0 7 0 0 9 0 2 0 0
0 5 0 0 0 7 0 0 0
0 0 0 0 4 5 7 0 0
0 0 0 1 0 0 0 3 0
0 0 1 0 0 0 0 6 8
0 0 8 5 0 0 0 1 0
0 9 0 0 0 0 4 0 0
輸出 #1 複製
8 1 2 7 5 3 6 4 9
9 4 3 6 8 2 1 7 5
6 7 5 4 9 1 2 8 3
1 5 4 2 3 7 8 9 6
3 6 9 8 4 5 7 2 1
2 8 7 1 6 9 5 3 4
5 2 1 9 7 4 3 6 8
4 3 8 5 2 6 9 1 7
7 9 6 3 1 8 4 5 2
這是個dfs的題,感覺除了開始已經有一些資料給出以外,其他的都是板子題,就是深度優先搜尋再加上回溯法,看了洛谷一些題解,一些大佬用了位運算或者dancing links ,emmmm 以後等我厲害了再學吧…
#include
#include
using
namespace std;
const
int size=10;
int a[
100]
;int b1[size][10
],b2[size][10
],b3[size][10
];void
dfs(
int k)
return;}
if(a[k]==0
)}}else
dfs(k+1)
;}intmain()
}dfs(1
);return0;
}
洛谷 P1784 數獨
洛谷傳送門 數獨是根據 9 times 99 9 盤面上的已知數字,推理出所有剩餘空格的數字,並滿足每一行 每一列 每乙個粗線宮內的數字均含 1 91 9 不重複。每一道合格的數獨謎題都有且僅有唯一答案,推理方法也以此為基礎,任何無解或多解的題目都是不合格的。芬蘭一位數學家號稱設計出全球最難的 數獨...
洛谷 P1784 數獨
數獨是根據9 9盤面上的已知數字,推理出所有剩餘空格的數字,並滿足每一行 每一列 每乙個粗線宮內的數字均含1 9,不重複。每一道合格的數獨謎題都有且僅有唯一答案,推理方法也以此為基礎,任何無解或多解的題目都是不合格的。芬蘭一位數學家號稱設計出全球最難的 數獨遊戲 並刊登在報紙上,讓大家去挑戰。這位數...
洛谷 P1784 數獨
最近學校搞了個數獨比賽,於是找了這道題。數獨是根據9 9盤面上的已知數字,推理出所有剩餘空格的數字,並滿足每一行 每一列 每乙個粗線宮內的數字均含1 9,不重複。每一道合格的數獨謎題都有且僅有唯一答案,推理方法也以此為基礎,任何無解或多解的題目都是不合格的。芬蘭一位數學家號稱設計出全球最難的 數獨遊...