P1127

词链

普及+/提高

题目描述

如果单词 XX 的末字母与单词 YY 的首字母相同,则 XX 与 YY 可以相连成 X.YX.Y。(注意:XX、YY 之间是英文的句号 .)。例如,单词 dog 与单词 gopher,则 dog 与 gopher 可以相连成 dog.gopher。

另外还有一些例子:

  • dog.gopher
  • gopher.rat
  • rat.tiger
  • aloha.aloha
  • arachnid.dog

连接成的词可以与其他单词相连,组成更长的词链,例如:

aloha.arachnid.dog.gopher.rat.tiger

注意到,. 两边的字母一定是相同的。

现在给你一些单词,请你找到字典序最小的词链,使得每个单词在词链中出现且仅出现一次。注意,相同的单词若出现了 kk 次就需要输出 kk 次。

输入格式

第一行是一个正整数 nn(1≤n≤10001 \le n \le 1000),代表单词数量。

接下来共有 nn 行,每行是一个由 11 到 2020 个小写字母组成的单词。

输出格式

只有一行,表示组成字典序最小的词链,若不存在则只输出三个星号 ***。

输入输出样例

输入样例 #1

text
6
aloha
arachnid
dog
gopher
rat
tiger

输出样例 #1

text
aloha.arachnid.dog.gopher.rat.tiger

说明/提示

  • 对于 40%40\% 的数据,有 n≤10n \leq 10;
  • 对于 100%100\% 的数据,有 n≤1000n \leq 1000。

🚀 提交评测

登录并绑定洛谷账号后即可在此在线提交代码并实时评测。

前往登录

💡 题解 (0)

登录后即可撰写并分享您的解题思路。

暂无题解,快来发布全站第一篇题解吧!

💬 题目讨论 (0)

登录后可以发起或参与讨论。

暂无讨论内容。

📊 题目信息

题号P1127
难度普及+/提高
时间限制1000 ms
内存限制128 MB
题目来源洛谷题库
算法标签
字符串搜索图论并查集欧拉回路

⚡ 快速操作

在线提交代码在洛谷打开原题 ↗