05歷屆試題 042九宮幻方

2018wl發表於2020-10-02

試題 歷屆試題 九宮幻方

資源限制
時間限制:1.0s 記憶體限制:256.0MB

問題描述
  小明最近在教鄰居家的小朋友小學奧數,而最近正好講述到了三階幻方這個部分,三階幻方指的是將1~9不重複的填入一個33的矩陣當中,使得每一行、每一列和每一條對角線的和都是相同的。
  三階幻方又被稱作九宮格,在小學奧數裡有一句非常有名的口訣:“二四為肩,六八為足,左三右七,戴九履一,五居其中”,通過這樣的一句口訣就能夠非常完美的構造出一個九宮格來。
  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

資料規模和約定
  峰值記憶體消耗(含虛擬機器) < 256M
  CPU消耗 < 1000ms
  請嚴格按要求輸出,不要畫蛇添足地列印類似:“請您輸入…” 的多餘內容。

注意:
  main函式需要返回0;
  只使用ANSI C/ANSI C++ 標準;
  不要呼叫依賴於編譯環境或作業系統的特殊函式。
  所有依賴的函式必須明確地在原始檔中 #include
  不能通過工程設定而省略常用標頭檔案。
  提交程式時,注意選擇所期望的語言型別和編譯器型別。
  --------------
  笨笨有話說:
  我最喜歡這類題目了。既然九宮幻方一共也沒有多少,我就不辭辛勞地一個一個寫出來好了。
  也不能太過分,好歹用個陣列。
  
提交程式碼

相關文章