没事怕手生了写写代码,看看图论中的一个题目,发现好久不写果然手生了不少。
题目:
菜鸟物流有自己的运输网络,网络中包含 n个城市物流集散中心,和m对城市之间的运输线路(线路是双向的)。菜鸟物流允许淘宝卖家自行确定包裹的运输路径,但只有一条限制规则:不允许经过重复的城市。淘宝卖家小明从 aa 城市寄出快递后,希望包裹在 midmid 城市进行包装加工以后再寄往 bb 城市。现在小明希望算出一个满足他需求的合法运输路径,你可以帮他算出来么?已知这样的方案一定存在。请为小明输出任意一个可行方案。
输入格式
第一行一个正整数 T(1≤T≤10) 表示数据的组数。
每组数据第一行2个正整数n,m(3≤n≤100,m≤n(n−1)/2),表示城市个数和运输线路数目。第二行3个互不相同正整数 a,b,mid,表示起点、终点和途径城市。接下来m行,每行2 个正整数 x,y(1≤x,y≤n),表示每条线路连接的 2个城市。每组数据一定存在至少一组合法方案。如果有多种满足小明需求的合法运输路径,输出任意一个即可。
输出格式
每组数据输出L个正整数,表示顺次经过的城市的编号,包括起点和终点。每两个整数之间一个空格,最后一个整数后面没有空格。
样例输入
1
5 5
1 5 3
1 2
2 3
3 4
4 5
5 1
样例输出
1 2 3 4 5
其实直觉上感觉不难,自己画一个拓扑,基本上一眼就能看出来存不存在这样的路,但你要让机器来给你实现还真不