問題來源:Problem - 2074
問題描述:

問題描述
思路分析:
? ? 思路一:
? ? 我們可以采用跟算法書里面第40頁“蛇形填數(shù)”一樣的思路來完成這道題。
????通過輸出樣式可以發(fā)現(xiàn),輸出的結(jié)果就是一個大矩形(假設四個角還在)里面往里縮小套矩形,每個矩形上的所使用的字符是一樣的。因此,我們可以先把最外圍的矩形填滿,再依次往里縮小,填滿。
? ? 同時,由于題目里面要求的字符是兩種,因此設置一個變量cout來判斷完成了的矩形個數(shù),以cout的j奇偶來決定矩形使用的字符。
? ? 我的代碼從左上角開始填充,代碼中采用四個while來來進行預判:判斷是否越界,往下走是否會到達一個已經(jīng)填充過了的格子,采用“右,下,左,上”這樣的軌跡來填充矩陣,直到填不下。
? ??實現(xiàn)代碼如下:

思路一代碼
????思路二:
? ? 由輸出樣式可以看出,輸出矩陣以中心為基,向四周擴散(假設四個角存在),是一個中心對稱的圖形。因此,我們也可以從中心出發(fā),把中心對稱的位置填上,以此依次向外擴張。
????實現(xiàn)代碼如下:

思路二代碼