主題

ZeroJudge - d250: 94北縣賽-2-數獨問題 (Sudoku) 解題心得

Not In My Back Yard | 2021-04-30 00:00:11 | 巴幣 0 | 人氣 67

題目連結:


題目大意:
輸入有九列,每列給定九個數字(每個數字為數字 0 ~ 9 其中一者。彼此之間沒有空格,且數字不會重複),代表數獨的版面的其中一列。其中數字為 0 的格子代表該格為空(尚未填入 1 ~ 9 的數字,保證每列、每行只有一個這樣的格子)。

對於數獨的每列,請輸出唯一一個空格應填入何數?



範例輸入:
028167394
640328715
173490268
304586172
817034956
256719403
435801629
762953041
981642530


範例輸出:
5
9
5
9
2
8
7
8
7


解題思維:
因為數獨的規則:每列、每行以及每個九宮格中 1 ~ 9 只能各出現一次,因此完成後的數字總和應恰好為 45。

因此我們將每一列中輸入進來的數字們加總得到 S,將 45 減去 S 即可知道該列缺了哪個數字。

而因為題目保證每列、每行只會有一格空格,所以我們不需要額外判斷行的情況。




此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。

創作回應

更多創作