MOOC程序设计算法基础期末第五题
发布时间
阅读量:
阅读量
给出初始单词与目标单词以及一个词典,任务是确定从初始单词到目标单词所需的最短转换路径。转换规则如下:
1、每次仅允许修改一个字母;
2、转换过程中产生的中间单词(除初始单词和目标单词外)必须存在于词典中。
例如:
初始单词为:hit
目标单词为:cog
词典为:[hot,dot,dog,lot,log,mot]
其中一种可能的最短转换路径为: hit -> hot -> dot -> dog -> cog,
因此返回的序列长度为5;
注意事项:
1、若无法找到符合条件的转换路径,则输出0;
2、词典中的所有单词长度一致;
3、所有单词均由小写字母组成;
4、初始单词与目标单词可能不在词典中。
输入格式:
共两行,第一行包含初始单词与目标单词(两者不同),以空格分隔。第二行包含多个单词(各不相同),以空格分隔,表示词典。每个单词长度不超过5,总数量不超过30。
输出要求:
输出转换序列的长度。
hit cog
hot dot dog lot log
样例输出
5
广度优先搜索算法
实现代码如下:
#include<iostream>
#include<vector>
#include<queue>
全部评论 (0)
还没有任何评论哟~
