Day 24 數獨檢查(模擬)

2021-10-18 20:16:47 字數 1998 閱讀 3522

acwing 703.數獨檢查

考點:模擬

數獨是一種流行的單人遊戲。

目標是用數字填充9x9矩陣,使每列,每行和所有9個非重疊的3x3子矩陣包含從1到9的所有數字。

每個9x9矩陣在遊戲開始時都會有部分數字已經給出,通常有乙個獨特的解決方案。

給定完成的n2∗n2n2∗n2數獨矩陣,你的任務是確定它是否是有效的解決方案。

有效的解決方案必須滿足以下條件:

你無需擔心問題的唯一性,只需檢查給定矩陣是否是有效的解決方案即可。

輸入格式

第一行包含整數t,表示共有t組測試資料。

每組資料第一行包含整數n。

接下來n2n2行,每行包含n2n2個數字(均不超過1000),用來描述完整的數獨矩陣。

輸出格式

每組資料輸出乙個結果,每個結果佔一行。

結果表示為「case #x: y」,其中x是組別編號(從1開始),如果給定矩陣是有效方案則y是yes,否則y是no。

資料範圍

1≤t≤1001≤t≤100,

3≤n≤63≤n≤6

輸入樣例:

3

35 3 4 6 7 8 9 1 2

6 7 2 1 9 5 3 4 8

1 9 8 3 4 2 5 6 7

8 5 9 7 6 1 4 2 3

4 2 6 8 5 3 7 9 1

7 1 3 9 2 4 8 5 6

9 6 1 5 3 7 2 8 4

2 8 7 4 1 9 6 3 5

3 4 5 2 8 6 1 7 9

31 2 3 4 5 6 7 8 9

1 2 3 4 5 6 7 8 9

1 2 3 4 5 6 7 8 9

1 2 3 4 5 6 7 8 9

1 2 3 4 5 6 7 8 9

1 2 3 4 5 6 7 8 9

1 2 3 4 5 6 7 8 9

1 2 3 4 5 6 7 8 9

1 2 3 4 5 6 7 8 9

35 3 4 6 7 8 9 1 2

6 7 2 1 9 5 3 4 8

1 9 8 3 4 2 5 6 7

8 5 9 7 6 1 4 2 3

4 2 6 8 999 3 7 9 1

7 1 3 9 2 4 8 5 6

9 6 1 5 3 7 2 8 4

2 8 7 4 1 9 6 3 5

3 4 5 2 8 6 1 7 9

輸出樣例:

case #1: yes

case #2: no

case #3: no

#include #include #include using namespace std;

const int n = 40;

int n,m;

int w[n][n];

bool st[n]; //標記當前數字是否出現過

//檢查行

bool check_row()

}return true;

}//檢查列

bool check_col()

}return true;

}//檢查子矩陣

bool check_cell()

}return true;

}int main()

return 0;

}

?:bool check_cell():檢查每個n*n的子矩陣的方法:列舉每個子矩陣的左上角,然後記錄偏移量,遍歷整個子矩陣。

執行緒狀態 Day24

執行緒狀態概述 timed waiting在api中的描述為 乙個正在限時等待另乙個執行緒執行乙個 喚醒 動作的執行緒處於這一狀態 在我們寫賣票的案例中,為了減少執行緒執行太快,現象不明顯等問題,我們在run方法中新增了sleep語句,這樣就 強制當前正在執行的執行緒休眠 暫停執行 以 減慢執行緒 ...

day24 學習總結

構造方法 date d new date string類和date類的轉換,通過dateformat類來實現轉換 dateformat為抽象類,需要通過其具體的子類來建立物件 dateformat類 構造方法 public dateformat 無參構造 public dateformat stri...

每日演算法 day 24

那些你早出晚歸付出的刻苦努力,你不想訓練,當你覺的太累了但還是要咬牙堅持的時候,那就是在追逐夢想,不要在意終點有什麼,要享受路途的過程,或許你不能成就夢想,但一定會有更偉大的事情隨之而來。mamba out 2020.3.9 假設資料 tank 5 n 3 v 3 4 2 n v123 4510 1...