题目 最少转机
描述
去哪儿网将机票业务扩展到了大魏国,
宇文玥和楚乔都是去哪儿网的忠实用户,经常坐飞机双宿双飞,
现在已知大魏国有n个城市,共有m条国内航线,航线都是可往返的,
已知他们所居住的城市和他们想要达到的城市,请给出最小转机次数。
如果两城市间不可到达,则返回DISCONNECTED
输入
第一行两个数n,m(2≤n≤100,1≤m≤100) ;
紧随其后的是两个城市的名称,代表居住城市和想要到达的城市
接下来m行,分别为各个航线间的两个城市(城市名称间以空格隔开)
输出
输出最少转机次数
Example
Input
5 5 LuoYang JinLing
ChangAn LuoYang
LuoYang JianKang
LuoYang LangYe
JianKang LangYe
JianKang JinLing
Output
2
题解
广度优先搜索
- 使用邻接矩阵存储机票
- 因为只需要计算转机数,所以计边的权重为 1
- 所有边的权重相同,则可采用 BFS 解决最短路问题
- 时间复杂度 O(n),空间复杂度 O(n^2)
1 |
|