#1586. 软键盘按键

    ID: 1586 传统题 1000ms 256MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>广度优先搜索普及-基础算法基础

软键盘按键

题目描述

乔斯开发了一款能够在电视上显示的 r 行 c 列的“虚拟软键盘”。和其他电视上的软键盘类似,你可以通过「上,下,左,右,选择」共 5 个控制键,移动电视屏幕上的光标来往搜索框里打印文本。一开始,光标在键盘的左上角,每次按方向键,光标总是跳到下一个在该方向上与当前位置不同的字符,若不存在则不移动。每次按选择键,则将光标所在位置的字符输入到搜索框里。

现在请你编程求出打印给定文本(要在结尾打印换行符)的最少按键次数。

输入格式

第一行输入 r,c。

接下来给出一个 r×c 的键盘,包括大写字母,数字,横线以及星号(星号代表 Enter 换行)。

最后一行是要打印的文本串 S,S 的长度不超过 10000。

输出格式

输出打印文本(包括结尾换行符)的最少按键次数。保证一定有解。
ABCDEFGHIJKLMNOPQZY

X*****************Y

AZAZ
	对于 100% 的数据,1≤r,c≤50,

S 的长度不超过 10000。