時間限制: 1 s
空間限制: 1000 kb
題目等級 : 鑽石 diamond
「芬蘭數學家因卡拉,花費3個月時間設計出了世界上迄今難度最大的數獨遊戲,而且它只有乙個答案。因卡拉說只有思考能力最快、頭腦最聰明的人才能破解這個遊戲。」這是英國《每日郵報》2023年6月30日的一篇報道。這個號稱「世界最難數獨」的「超級遊戲」,卻被揚州一位69歲的農民花三天時間解了出來。
看到這個新聞後,我激動不已,證明我們oi的實力的機會來了,我們雖然不是思考能力最快、頭腦最聰明的人,但是我們可以保證在1s之內解題。
好了廢話不多說了……
數獨是一種填數字遊戲,英文名叫sudoku,起源於瑞士,上世紀70年代由美國一家數學邏輯遊戲雜誌首先發表,名為number place,後在日本流行,2023年將sudoku命名為數獨,即「獨立的數字」的省略,解釋為每個方格都填上乙個個位數。2023年,曾任中國香港高等法院法官的高樂德(wayne gould)把這款遊戲帶到英國,成為英國流行的數學智力拼圖遊戲。
玩家需要根據9×9盤面上的已知數字,推理出所有剩餘位置(資料表示為數字0)的數字,並滿足每一行、每一列、每乙個粗線宮內的數字均含1-9,不重複。
現在給你乙個數獨,請你解答出來。每個數獨保證有解且只有乙個。
輸入描述 input description
9行9列。
每個數字用空格隔開。0代表要填的數
行末沒有空格,末尾沒有回車。
輸出描述 output description
輸出答案。
排成9行9列。
行末沒有空格,結尾可以有回車。
樣例輸入 sample input
2 0 0 0 1 0 8 9 0
0 0 7 0 0 0 0 0 0
0 0 0 9 0 0 0 0 7
0 6 0 0 0 1 3 0 0
0 9 0 7 3 4 0 8 0
0 0 3 6 0 0 0 5 0
6 0 0 0 0 2 0 0 0
0 0 0 0 0 0 1 0 0
0 5 9 0 8 0 0 0 3
樣例輸出 sample output
2 4 5 3 1 7 8 9 6
9 1 7 2 6 8 5 3 4
3 8 6 9 4 5 2 1 7
4 6 2 8 5 1 3 7 9
5 9 1 7 3 4 6 8 2
8 7 3 6 2 9 4 5 1
6 3 8 1 7 2 9 4 5
7 2 4 5 9 3 1 6 8
1 5 9 4 8 6 7 2 3
資料範圍及提示 data size & hint
保證有解,每個數獨都由數獨網提供。
其中資料hard1.in為芬蘭數學家提供。
/*直接搜尋就行
判斷 每行 每列 每個3*3的格 是否合法就行
*/#include
#include
#include
using
namespace
std;
intflag;
int a[20][20
];int hang[20][20],lie[20][20],ge[20][20
];int b[20][20]=,,,
,,,,
,,
};void dfs(int x,int
y) flag=1
;
return
; }
int xx=x,yy=y+1
;
if(yy==10)yy=1,xx=x+1
;
if(a[x][y])
for(int i=1;i<=9;i++)
}int
main()
dfs(
1,1);
return0;
}
codevs2924 數獨挑戰
時間限制 1 s 空間限制 1000 kb 題目等級 鑽石 diamond 題解題目描述description 芬蘭數學家因卡拉,花費3個月時間設計出了世界上迄今難度最大的數獨遊戲,而且它只有乙個答案。因卡拉說只有思考能力最快 頭腦最聰明的人才能破解這個遊戲。這是英國 每日郵報 2012年6月30日...
牛客 數獨挑戰 dfs
題目鏈結 1 暴力法 tle include using namespace std const int inf 0x3f3f3f3f typedef long long ll int e 10 10 int r 10 10 記錄該行 1 9是否出現 出現為 1 int c 10 10 int k ...
code vs 方格取數3
時間限制 2 s 空間限制 256000 kb 題目等級 大師 master 題解 檢視執行結果 問題描述 在乙個有m n 個方格的棋盤中,每個方格中有乙個正整數。現要從方格中取數,使任 意2 個數所在方格沒有公共邊,且取出的數的總和最大。試設計乙個滿足要求的取數演算法。程式設計任務 對於給定的方格...