CF1607A Linear Keyboard
题目描述
你有一个由 $26$ 个按键组成的键盘。这些按键按照某种顺序依次排列在一行上。每个按键对应一个唯一的小写拉丁字母。
你需要在这个键盘上输入单词 $s$。该单词也只包含小写拉丁字母。
输入单词时,你需要依次输入它的所有字母。每输入一个字母,你必须将手精确地移动到对应的按键上并按下它。
在按键之间移动手所需的时间等于这些按键位置编号之差的绝对值(按键从左到右编号)。按下按键和将手放到第一个字母的按键上都不需要花费时间。
例如,考虑一个字母从 'a' 到 'z' 按照字母顺序排列的键盘。字母 'h'、'e'、'l' 和 'o' 分别位于第 $8$、$5$、$12$ 和 $15$ 个位置。因此,输入单词 "hello" 需要的时间为 $|5 - 8| + |12 - 5| + |12 - 12| + |15 - 12| = 13$ 单位时间。
请你计算,在给定的键盘上输入单词 $s$ 需要多少时间。
输入格式
第一行包含一个整数 $t$($1 \leq t \leq 1000$),表示测试用例的数量。
接下来的 $2t$ 行描述每个测试用例。
每个测试用例的第一行是一个长度为 $26$ 的字符串,表示键盘的排列顺序。该字符串只包含小写拉丁字母,每个字母恰好出现一次。
每个测试用例的第二行是要输入的单词 $s$。单词长度为 $1$ 到 $50$,只包含小写拉丁字母。
输出格式
输出 $t$ 行,每行一个整数,表示在给定键盘上输入单词 $s$ 所需的最小时间。
说明/提示
由 ChatGPT 4.1 翻译