題目描述
演唱會字幕牆有些格子的資料損毀了,畫面用 ? 標出這些讀不到的字元。工程師只打算進行一輪自動修補:每個損毀格子向上下左右看看,參考附近仍看得到的字母來決定要填入什麼。斜對角的格子不算鄰居;超出字幕牆的方向也不算。
對每個 ?,只統計相鄰格子中原本就不是 ? 的大寫字母,選出出現次數最多的字母填入。若多個字母次數並列,選字母順序最小的;如果四個方向都找不到可用字母,該格仍保留 ?。原本就完整的字母不可改動。
所有損毀格子要視為同時修補:判斷每一格時只能看修補之前的原始畫面。就算隔壁的 ? 在這一輪也會被填上字母,它填出的結果也不能拿來幫你修補目前這格。請輸出一輪修補結束後的字幕牆。
輸入格式
第一行 R C,接著 R 行,每行恰有 C 個大寫英文字母或 ?。
限制
1 ≤ R, C ≤ 100。
輸出格式
輸出修補後的 R 行字幕牆。
範例1
範例輸入:
2 2
A?
?B
範例輸出:
AA
AB
兩個問號都遇到 A、B 各一次,平手選 A。
範例2
範例輸入:
1 1
?
範例輸出:
?
唯一的格子沒有任何相鄰字母,因此不能猜出內容。
範例測資
範例輸入 1
2 2 A? ?B
範例輸出 1
AA AB
範例輸入 2
1 1 ?
範例輸出 2
?
請先登入後再提交程式碼
討論與題解
載入討論區…