#codethanksfestival14qualbh. [code_thanks_festival_14_qualb_h]しりとりゲーム
[code_thanks_festival_14_qualb_h]しりとりゲーム
问题文
最近你迷上了一款略带特殊的猜词游戏,购买了一套包含一些英文单词的“猜词基础套装”。
猜词游戏的规则如下:
- 提前确定可以在猜词游戏中使用的单词,其他单词不能使用。但是,在使用英文单词时,可以代替使用其反转形式。
- 使用过的单词后续不能再次使用(即使使用了反转形式,原单词也不能再用)。
- 第一轮可以自由选择任意英文单词开始。
- 从第二轮开始,所猜的单词必须与上一轮的单词末尾字母相同。
- 当要猜的单词无法满足条件时,游戏结束。
通常情况下,猜词游戏是多人玩的,但喜欢独处的你打算通过一人游戏的方式,使用所有的英文单词且不剩余地完成一次猜词游戏。然而,聪明的你意识到仅凭“猜词基础套装”中的单词可能无法达到目标。
因此,你计划单独购买一些额外的英文单词,并使用这些单词和“猜词基础套装”中的单词进行猜词游戏,以完成目标。请回答你需要购买的最少英文单词数量。
在你所居住的世界中,幸运的是有大量可供购买的任意英文单词,并且你可以购买所需数量的单词。
(注)在这里所说的英文单词是指由小写字母(a-z)构成的长度为2到20的字符串。请注意,这与实际英文单词的定义有所不同。
输入
输入通过标准输入给出。
:
- 第1行包含一个整数 ,表示“猜词基础套装”中的英文单词数量。
- 第2行到第 行,每行包含一个字符串 ,表示第 个英文单词。 由小写字母(a-z)构成。
- 所有的单词保证互不相同。同时,保证一个单词的反转形式不会与另一个单词完全相同。
输出
输出一行,表示你需要购买的最少英文单词数量。不要忘记输出换行符。
输入例子1
3
soup
peas
ecir
输出例子1
1
如果只使用“猜词基础套装”中的单词,无法使用所有单词并完成游戏。
因此,例如购买单词 sugar
,就可以用所有单词来进行猜词游戏:“soup
→peas
→sugar
→rice
”(最后的 rice
是反转的 ecir
),从而完成目标。
输入例子2
4
ba
bc
ca
da
输出例子2
0
例如可以进行以下一轮猜词的操作:“ab
→bc
→ca
→ad
”,无需购买额外的英文单词。在这个例子中,使用了 ba
和 da
的反转形式。
输入例子3
13
ab
cd
ef
gh
ij
kl
mn
op
qr
st
uv
wx
yz
输出例子3
12
输入例子4
3
aa
xyz
zwx
输出例子4
1