1.首先我们定义单词接龙的规则是:
1)后一个单词的首字母,会等于前一个单词的末尾的字符;
2)每个单词只能出现1次;
3)如果最长龙是有多个长度都一致,给出所有可能的接龙结果。
请写一个程序,那么在随意输入N个单词(单词与单词之间用空格分割,用回车表示结束)后,程序能够给出可能最长龙的接龙结果。
举例:
输入:arachnid aloha dig rat tiger gopher
系统输出:aloha arachnid dog gopher rat tiger
用C++解决单词接龙的最长龙问题
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- wallesyoyo 2017-05-23 08:44关注
用有向图的数据结构,每个节点代表一个单词,把能接上的两个单词用箭头连起来。 这个时候问题就变成了找该有向图的最长路径,这个算法有很多,如果问题变成是否所有单词能连成一条龙,则就是找该有向图的哈密顿通路的问题。
解决 无用评论 打赏 举报
悬赏问题
- ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
- ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
- ¥20 有关区间dp的问题求解
- ¥15 多电路系统共用电源的串扰问题
- ¥15 slam rangenet++配置
- ¥15 有没有研究水声通信方面的帮我改俩matlab代码
- ¥15 ubuntu子系统密码忘记
- ¥15 保护模式-系统加载-段寄存器
- ¥15 电脑桌面设定一个区域禁止鼠标操作
- ¥15 求NPF226060磁芯的详细资料