題目鏈結
數獨是一種流行的單人遊戲。
目標是用數字填充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數獨矩陣,你的任務是確定它是否是有效的解決方案。有效的解決方...