題目描述
數獨是根據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
洛谷p1784 數獨
其實直接每個數字都暴力填一遍就行了。下面是我的**:
#include
//萬能標頭檔案
using
namespace std;
int tu[10]
[10];
//輸入陣列
void
show()
//輸出函式
exit(0
);//注意,此處要用exit(0)。用return的話不會退出dfs函式,會增加運算量。
}bool
check
(int x,
int y,
int n)
//判斷要填的數字是否重複 ,重複就返回0
//判斷每個方陣小格仔數字是否重複
for(
int i =
0; i <
3; i++
)for
(int j =
0; j <
3; j++)if
(tu[i + x/3*
3][j + y/3*
3]== n)
return0;
return1;
//無重複
}void
dfs(
int x,
int y)
//搜尋
if(tu[x]
[y]==0)
//如果沒填過的 }}
}int
main()
謝謝**!>_< 洛谷 P1784 數獨
題目描述 數獨是根據9 9盤面上的已知數字,推理出所有剩餘空格的數字,並滿足每一行 每一列 每乙個粗線宮內的數字均含1 9,不重複。每一道合格的數獨謎題都有且僅有唯一答案,推理方法也以此為基礎,任何無解或多解的題目都是不合格的。芬蘭一位數學家號稱設計出全球最難的 數獨遊戲 並刊登在報紙上,讓大家去挑...
洛谷 P1784 數獨
洛谷傳送門 數獨是根據 9 times 99 9 盤面上的已知數字,推理出所有剩餘空格的數字,並滿足每一行 每一列 每乙個粗線宮內的數字均含 1 91 9 不重複。每一道合格的數獨謎題都有且僅有唯一答案,推理方法也以此為基礎,任何無解或多解的題目都是不合格的。芬蘭一位數學家號稱設計出全球最難的 數獨...
洛谷 P1784 數獨
數獨是根據9 9盤面上的已知數字,推理出所有剩餘空格的數字,並滿足每一行 每一列 每乙個粗線宮內的數字均含1 9,不重複。每一道合格的數獨謎題都有且僅有唯一答案,推理方法也以此為基礎,任何無解或多解的題目都是不合格的。芬蘭一位數學家號稱設計出全球最難的 數獨遊戲 並刊登在報紙上,讓大家去挑戰。這位數...