任何人都可以幫我解決這個問題嗎? 例如,我們有一些來自某個特定aplhabet的MxN字符網格,S = {A,B,C,D}。 光標定位在(1,1)的位置,並且我們可以使用箭頭鍵移動光標,了,下來,離開,右,並按回車鍵選擇字符(就像在舊遊戲中選擇暱稱)。給定一些來自aplhabet S的輸入字符串,它們加權相同的最小操作成本是多少(例如,向右移動與選擇char相同的代價)?在矩陣中也可以有多個相同字符的出現。最短的鍵盤距離打字
實施例:
字母S = {A,B,C,d}
矩陣:
ABDC CADB ABAA
和輸入字符串ADCABDA。
我的不完整的解決方案是: 構建定向網格圖並找到從1,1到結束字符的最短路徑,其中間字符與TSP中的城鎮相似,並且來自最優子路徑使用動態規劃構建最優最終路徑。問題是你可能會結束許多可能的結束字符,而我完全不知道如何從較小的最佳子路徑構建更長的最佳路徑。