AcWing 703 數獨檢查(模擬)

2021-10-18 17:12:06 字數 2573 閱讀 9859

題目鏈結

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

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

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

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

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

輸入格式

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

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

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

輸出格式

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

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

資料範圍

1≤t≤100,

3≤n≤6

輸入樣例:

335

3467

8912

6721

9534

8198

3425

6785

9761

4234

2685

3791

7139

2485

6961

5372

8428

7419

6353

4528

6179

3123

4567

8912

3456

7891

2345

6789

1234

5678

9123

4567

8912

3456

7891

2345

6789

1234

5678

9123

4567

8935

3467

8912

6721

9534

8198

3425

6785

9761

4234

26899937

9171

3924

8569

6153

7284

2874

1963

5345

2861

79

輸出樣例:

case #1

: yes

case #2

: no

case #3

: no

答案:

#include

#include

#define ll long long

#define ull unsigned long long

#define inf 0x3f3f3f3f3f3f3f3f

#define rep(i,a,b) for(auto i=a;i<=b;++i)

#define bep(i,a,b) for(auto i=a;i>=b;--i)

#define lowbit(x) x&(-x)

#define pii pair

#define pll pair

#define pi acos(-1)

#define pb push_back

#define eps 1e-6

const

int mod =

1e9+7;

const

int n =

1e5+10;

const

int m =55;

using

namespace std;

int dp[m]

[m];

int vis[n]

;void

solve()

}if(flag)

/// 行列檢查

rep(i,

1,nn)}if

(flag)

break

;memset

(vis,0,

sizeof

(vis));

/// 列

rep(j,

1,nn)}}

if(flag)

///小矩陣檢查

for(

int i=

1;i<=nn;i+

=n)}}}

}if(flag)if(

!flag)}}

intmain()

AcWing 703 數獨檢查

數獨是一種流行的單人遊戲。目標是用數字填充9x9矩陣,使每列,每行和所有9個非重疊的3x3子矩陣包含從1到9的所有數字。每個9x9矩陣在遊戲開始時都會有部分數字已經給出,通常有乙個獨特的解決方案。1.png 2.png 給定完成的n2 n2數獨矩陣,你的任務是確定它是否是有效的解決方案。有效的解決方...

AcWing 703數獨檢查

題目描述 數獨是一種流行的單人遊戲。目標是用數字填充9x9矩陣,使每列,每行和所有9個非重疊的3x3子矩陣包含從1到9的所有數字。每個9x9矩陣在遊戲開始時都會有部分數字已經給出,通常有乙個獨特的解決方案。給定完成的n 2 n 2數獨矩陣,你的任務是確定它是否是有效的解決方案。有效的解決方案必須滿足...

703 數獨檢查 AcWing題庫

數獨是一種流行的單人遊戲。目標是用數字填充9x9矩陣,使每列,每行和所有9個非重疊的3x3子矩陣包含從1到9的所有數字。每個9x9矩陣在遊戲開始時都會有部分數字已經給出,通常有乙個獨特的解決方案。1.png 2.png 給定完成的n2 n2數獨矩陣,你的任務是確定它是否是有效的解決方案。有效的解決方...