给定一个单词(或任何字母序列)作为输入,您必须在每个字母之间进行插值,以使结果中的每个相邻字母对在QWERTY键盘上也相邻,就像您在巨型键盘上行走时键入输入一样。例如,“ 是 ”可能会变成“ y tr es ”,“ 猫 ”可能会变成“ c xz a wer t ”。
规则:
这是您应该使用的键盘格式:
q
w
e
r
t
y
u
i
o
p
a
s
d
f
g
h
j
k
l
z
x
c
v
b
n
m
在此布局中触摸的任何一对键都被认为是相邻的。例如,“ s”和“ e”是相邻的,但“ s”和“ r”不是。
- 输入的“单词”将由任何字母序列组成。它只有字母,所以您不必处理特殊字符。
- 输入可以采用任何方便的形式:stdin,字符串,列表等。您可以选择任何更方便的方式。
- 输出可以采用任何方便的形式:stdout,字符串,列表等。字母大小写无关紧要,并且不需要保持一致。
- 键盘上的任何路径都是有效的,除了不能再越过上一个字母才能到达下一个字母。例如,“ hi ”可以变成“ h j i ”或“ h jnbgyu i ”,但不能变成“ h b h u i ”。
- 字母本身不相邻,因此“ poll ”不能成为“ poll ”。相反,它将需要变成类似“ pol k l ”的东西。
- 单词之前或之后不允许输出字母。例如,“ was ”不能成为“ tre was ”或“ was dfg”。
这是代码高尔夫,最短的答案以字节为单位。
因此,我们要为每个输入输出任何有效的“遍历”吗?给定两个输入,确定是否是一个有效的步步,似乎会更好。
—
维斯卡
似乎
—
Arnauld
dewqwerty
是的有效路径dy
。你能确认吗?
@Arnauld是的。
—
Vaelus
@Veskah是的;输出任何有效的步数作为输入。这是为了进行优化,例如,如果它必须走的最短,则可能无法实现。
—
Vaelus