2011年11月18日 星期五

312 - Crosswords (II)

一個猜字謎的遊戲可用一個由0與1所組成,大小為m x n的矩陣表示,0表示白色方格,1表示黑色方格,部份方格會被賦予編號,一個編號代表一個必須被填入方格中直向或橫向的單字,一個被賦予編號的方格必需是白色方格,且滿足下列兩個條件:1. 該方格之下必須是白色方格,且之上不是白色方格;2. 該方格的右邊方格為白色,且左邊不是白色方格。編號由左到右、由上到下依序被賦予。
 
該矩陣必須重新做輸出,每個方格以一個4x6的字元表示,下列依序為黑色方格、被賦予編號的白方格與未被賦予編號的白方格:
++++++                        ++++++         ++++++
++++++                        +nnn +         +    +
++++++                        +    +         +    +
++++++                        ++++++         ++++++
若黑色方格在四週則不需要繪出,請參考範例資料。請注意圖形每列的最後不可有多餘的空白字元。

Input

每組測試資料的第一列有兩個整數分別表示 m, n (m, n < 25),接下來的 m 列每列有 n 個0或1的整數,每個整數之間皆以一個空白字元隔開。當 m = n = 0 表示測試資料結束。

Output

請繪出該字謎的圖形。請在每組資料之後輸出一列空行。

Sample Input

6 7
1 0 0 0 0 1 1
0 0 1 0 0 0 0
0 0 0 0 1 0 0
0 1 0 0 1 1 1
0 0 0 1 0 0 0
1 0 0 0 0 0 1
5 3
1 0 1
0 0 0
1 1 1
0 0 0
1 0 1
0 0

Sample Output

     +++++++++++++++++++++
     +001 +    +002 +003 +
     +    +    +    +    +
++++++++++++++++++++++++++++++++++++
+004 +    ++++++005 +    +006 +007 +
+    +    ++++++    +    +    +    +
++++++++++++++++++++++++++++++++++++
+008 +    +009 +    +    +010 +    +
+    +    +    +    +    +    +    +
+++++++++++++++++++++    +++++++++++
+    ++++++011 +    +
+    ++++++    +    +
++++++++++++++++++++++++++++++++++++
+012 +013 +    ++++++014 +015 +    +
+    +    +    ++++++    +    +    +
++++++++++++++++++++++++++++++++++++
     +016 +    +    +    +    +
     +    +    +    +    +    +
     ++++++++++++++++++++++++++

     ++++++
     +001 +
     +    +
++++++++++++++++
+002 +    +    +
+    +    +    +
++++++++++++++++


++++++++++++++++
+003 +004 +    +
+    +    +    +
++++++++++++++++
     +    +
     +    +
     ++++++


原文出處

沒有留言:

張貼留言