Vijos 數獨驗證

2021-08-09 08:45:07 字數 2203 閱讀 8673

背景

xx學校風靡一款智力遊戲,也就是數獨(九宮格),先給你乙個數獨,並需要你驗證是否符合規則。

具體規則如下:

每一行都用到1,2,3,4,5,6,7,8,9,位置不限,

每一列都用到1,2,3,4,5,6,7,8,9,位置不限,

每3×3的格仔(共九個這樣的格仔)都用到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。

如下是乙個正確的數獨:

5 8 1 4 9 3 7 6 2

9 6 3 7 1 2 5 8 4

2 7 4 8 6 5 9 3 1

1 2 9 5 4 6 3 7 8

4 3 6 1 8 7 2 9 5

7 5 8 3 2 9 1 4 6

8 9 2 6 7 1 4 5 3

6 1 5 9 3 4 8 2 7

3 4 7 2 5 8 6 1 9

輸入n個數獨,你來驗證它是否違反規則.

第一行為數獨個數,第二行開始為第乙個數獨,之後為第二個,至第n個.

注意!每個數獨之間有乙個回車隔開!

若正確則輸出」right」若不正確則輸出」wrong」 輸出乙個換一行

2

5 8 1 4 9 3 7 6 2

9 6 3 7 1 2 5 8 4

2 7 4 8 6 5 9 3 1

1 2 9 5 4 6 3 7 8

4 3 6 1 8 7 2 9 5

7 5 8 3 2 9 1 4 6

8 9 2 6 7 1 4 5 3

6 1 5 9 3 4 8 2 7

3 4 7 2 5 8 6 1 9

1 2 3 4 5 6 7 8 9

2 3 4 5 6 7 8 9 1

3 4 5 6 7 8 9 1 2

4 5 6 7 8 9 1 2 3

5 6 7 8 9 1 2 3 4

6 7 8 9 1 2 3 4 5

7 8 9 1 2 3 4 5 6

8 9 1 2 3 4 5 6 7

9 1 2 3 4 5 6 7 8

copy

right

wrong

copy

各個測試點1s

1<=n<=20 (輸入的數獨個數)

不論輸入的數獨是錯誤的還是正確的,資料都保證每個數在1-9之間,即只會出現因為有相同的數而導致違反規則,而不會因為數字超出了1-9的範圍而違反規則.

1/*2

先判斷行 列的數是否滿足

3再用二位字首和判斷9個小九宮格是否滿足

4如果不判斷行 列中是否有數重複的話

5會wa乙個點 6*/

7 #include8 #include9

#define maxn 30

1011

using

namespace

std;

1213

intn,a[maxn][maxn];

14int

map[maxn][maxn];

1516

bool vish[11],visl[11

];17

18 inline void read(int&x)

21while(c>='

0'&&c<='

9')

22 x=x*f;23}

2425 inline bool

pd()

38if(sum!=45||cnt!=45) return

false;39

}40for(int i=1;i<=9;i++)

41for(int j=1;j<=9;j++)

42 map[i][j]=map[i][j-1]+map[i-1][j]-map[i-1][j-1]+a[i][j];

43for(int i=3;i<=9;i+=3)44

for(int j=3;j<=9;j+=3

) 48

return

true;49

}5051int

main()

60return0;

61 }

**

Vijos P1335 數獨驗證 謎題

xx學校風靡一款智力遊戲,也就是數獨 九宮格 先給你乙個數獨,並需要你驗證是否符合規則。具體規則如下 每一行都用到1,2,3,4,5,6,7,8,9,位置不限,每一列都用到1,2,3,4,5,6,7,8,9,位置不限,每3 3的格仔 共九個這樣的格仔 都用到1,2,3,4,5,6,7,8,9,位置不...

C 數獨遊戲 遞迴,回溯,驗證是否滿足數獨

你不去做,別人不知道你會做 送給我自己。題設 在9 9的數獨 內輸入幾個數字,自動完成數獨 準備 在充分理解遞迴,回溯之後,完成這個題目就不難了。但是高效能完成就還是得研究。原理概要 採用棧的資料結構模型存入已經輸入過得數獨 此時應該只有幾個 有數字,我們採用乙個標記數字記下這些數字位置,他們是不能...

構造數獨和解數獨

數獨,俗稱九宮格,由乙個9 9的網格組成,整個網格又分成9個3 3的小正方形網格,每個格仔有乙個數字 1 9 數獨滿足如下要求 1 每個數字在每一行只出現一次 2 每個數字在每一列只出現一次 3 每個數字在每個3 3的小區域中也只出現一次 如下圖所示,為我們比較常見的數獨形式,為乙個缺了數字的數獨,...