魔方陣は、あるn行N範囲の異なる正の整数で満たされ、正方格子、1,2 ... N ^ 2、各セルは異なる整数であり、各行の整数の和を含むように、列と対角線は等しい。
あなたの仕事は、正の数字で構成されるn行n列の行列と、空のセルのプレースホルダー文字(0を使用しますが、任意の非数値文字またはデータ型を使用できます)を取得し、それが不足している数字を入力して魔方陣を作ることが可能
行列は少なくとも2行2列、最大10行10列になります。最小の非自明な魔方陣は3行3列です。入力行列の数値はn ^ 2よりも大きい場合があり、すべてのセルが塗りつぶされる可能性があります。
テストケース:
2 2
2 0
False
8 0 6
0 5 0
0 9 2
True
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
True
10 0 1
0 5 9
3 7 5
False
99 40 74 8 15 51 0 67 0 1
0 41 55 14 0 57 64 0 98 0
81 47 56 20 22 63 70 54 0 88
0 28 0 21 0 69 71 60 85 19
0 34 0 2 9 75 52 61 0 25
24 65 49 0 90 26 33 42 17 76
0 0 30 89 91 0 39 48 0 82
6 72 31 95 0 38 45 29 0 13
12 53 0 96 78 0 0 0 10 94
18 59 43 77 0 0 27 36 0 100
True
うーん。私は..私は解決策のどこかを見てきたと思います
—
マシュー盧
対角線が正しくテストされていることを確認することが示唆テストケース:
—
アルノー
[ [ 1, 5, 9 ], [ 6, 7, 2 ], [ 8, 3, 4 ] ]
(falsy)
プレースホルダー(つまり
—
スコットミルナー
[[8, X1, 6], [X2, 5, X3], [X4, 9, 2]]
)に番号を付けることはできますか?
@Scott必ず、お気軽に...
—
Stewieグリフィン