**請特別注意目標圖形的定義
小勳是一位魔法師,他喜歡施展特別的魔咒。今天他站在一面魔法牆前,上面布滿魔法石,而魔法石恰好排列成 n 行 m 列。小勳今天想要施展菱形魔
咒,所以他必須在魔法牆上找到菱形的圖案,好讓他施展魔法。一個圖形為合法的菱形圖案若且唯若它滿足以下三個條件:
1. 圖案內的所有魔法石都為同一種
2. 所有圖案內的魔法石都在魔法牆上,也就是說不能有任何一個魔法石超出邊界
3. 中間一行的魔法石數量為奇數個,且全部相連,在其上的每一行都滿足其數量都比下面一行少 2 ,且全部相連,在其下的每一行都滿足其數量都比上
面一行少 2 ,且全部相連,並且圖形必須對稱於中間一行的中垂線。
合法的圖形範例:
a a
aaa
a
不合法的圖形範例:
a a
aaa aba
aa a
請你幫小勳計算魔法牆有幾種可能的菱形圖案(位置、大小不同皆視為不同的圖形)
第一列有兩個整數 n 和 m。
接下來有 n 列文字,每一列有 m 個小寫的英文字母,代表 n*m 的網格。其中不同的字母就代表不同的魔法石,相同的字母則代表相同的魔法石。
輸出滿足題目要求的菱形個數
3 3 aaa aaa aaa
10
dfs/bfs, dp, implementation, shortest path, suffix/preffix method
30%的測資滿足 1 ≤ n,m ≤ 50 (CF 1400)
100%的測資滿足 1 ≤ n,m ≤ 2000 (CF 2100)
編號 | 身分 | 題目 | 主題 | 人氣 | 發表日期 |
沒有發現任何「解題報告」 |