列舉法 九宮幻方

2021-08-17 22:42:00 字數 904 閱讀 8327

題目描述

小明最近在教鄰居家的小朋友小學奧數,而最近正好講述到了三階幻方這個部分。

三階幻方指的是將1~9不重複的填入乙個3*3的矩陣當中,使得每一行、每一列和每一條對角線的和都是相同的。 三階幻方又被稱作九宮格,在小學奧數里有一句非常有名的口訣: 「二四為肩,六八為足,左三右七,戴九履一,五居其中」, 通過這樣的一句口訣就能夠非常完美的構造出乙個九宮格來。

4 9 2

3 5 7

8 1 6

有意思的是,所有的三階幻方,都可以通過這樣乙個九宮格進行若干映象和旋轉操作之後得到。 現在小明準備將乙個三階幻(不一定是上圖中的那個)中的一些數抹掉,交給鄰居家的小朋友來進行還原,並且希望她能夠判斷出究竟是不是只有乙個解。 而你呢,也被小明交付了同樣的任務,但是不同的是,你需要寫乙個程式~

輸入格式: 輸入僅包含單組測試資料。 每組測試資料為乙個3*3的矩陣,其中為0的部分表示被小明抹去的部分。 對於100%的資料,滿足給出的矩陣至少能還原出一組可行的三階幻方。 輸出格式: 如果僅能還原出一組可行的三階幻方,則將其輸出,否則輸出「too many」(不包含引號)。

樣例輸入

0 7 2

0 5 0

0 3 0

樣例輸出

6 7 2

1 5 9

8 3 4

public

class jiugonghuanfang ;

for(int i = 0;i < ss.length;i ++)}}

private

static boolean test(string string, string s)

return

true;

}}

解題關鍵:列舉出所有幻方情況。

(DFS)九宮幻方

歷屆試題 九宮幻方 時間限制 1.0s 記憶體限制 256.0mb 問題描述 小明最近在教鄰居家的小朋友小學奧數,而最近正好講述到了三階幻方這個部分,三階幻方指的是將1 9不重複的填入乙個3 3的矩陣當中,使得每一行 每一列和每一條對角線的和都是相同的。三階幻方又被稱作九宮格,在小學奧數里有一句非常...

藍橋杯 九宮幻方

3.九宮幻方 問題描述 小明最近在教鄰居家的小朋友小學奧數,而最近正好講述到了三階幻方這個部分。三階幻方指的是將1 9不重複的填入乙個3 3的矩陣當中,使得每一行 每一列和每一條對角線的和都是相同的。三階幻方又被稱作九宮格,在小學奧數里有一句非常有名的口訣 二四為肩,六八為足,左三右七,戴九履一,五...

歷屆試題 九宮幻方

歷屆試題 九宮幻方 時間限制 1.0s 記憶體限制 256.0mb 問題描述 小明最近在教鄰居家的小朋友小學奧數,而最近正好講述到了三階幻方這個部分,三階幻方指的是將1 9不重複的填入乙個3 3的矩陣當中,使得每一行 每一列和每一條對角線的和都是相同的。三階幻方又被稱作九宮格,在小學奧數里有一句非常...