a073. 最大片字塊

困難陣列字串動態規劃

時間限制 2000 ms ・ 記憶體限制 256 MB

題目描述

印刷廠要從字母海報上裁下一塊正方形,做成顏色一致的貼紙。海報上的每一格不是大寫字母,就是不能用的空位 .。要裁下的部分必須是沿格線的實心正方形,而且正方形裡每一格都必須是同一個字母;空位、其他字母或缺角都不行。

廠長希望貼紙盡可能大,因此先比較正方形的邊長。如果找到好幾塊同樣大的正方形,先選字母順序最小的,例如 A 優先於 B;若字母也相同,選左上角列號較小的;仍相同時,再選左上角行號較小的。列號、行號都從左上角的 (1, 1) 起算。

即使海報只剩零星的一格字母,也能裁出邊長 1 的貼紙。若整張海報完全沒有字母,則沒有可裁的正方形,請依題目指定的格式輸出 0 - 0 0。請輸出最後選中的邊長、字母和左上角座標。

輸入格式

第一行 R C,接著 R 行,每行恰有 C 個字元。

限制

1 ≤ R, C ≤ 300;方格只包含大寫英文字母和 .。

輸出格式

輸出一行 邊長 字母 左上角列號 左上角行號;沒有字母時輸出 0 - 0 0。

範例1

範例輸入:

3 4
AABB
AABB
CCBB

範例輸出:

2 A 1 1

A 和 B 都有 2×2 正方形,選字母順序較小的 A。

範例2

範例輸入:

2 2
..
..

範例輸出:

0 - 0 0

四格都是空位,連邊長 1 的字母正方形都不存在。

範例測資

範例輸入 1

3 4
AABB
AABB
CCBB

範例輸出 1

2 A 1 1

範例輸入 2

2 2
..
..

範例輸出 2

0 - 0 0
請先登入後再提交程式碼

討論與題解

載入討論區…

更多