#157. 航空路线
航空路线
Description
给定一张航空图,图中节点代表城市,边代表两城市间的直通航线,不存在任何两个城市在同一条航线上。从最西端城市出发,单向从西向东途经若干城市到达最东端城市,然后单向从东向西飞回起点(可途经若干城市)。除起点城市外,任何城市都只可以访问一次。找出一条满足条件且途经城市最多的旅行路线。
Format
Input
第行包括两个整数和,分别表示航空图的点数和边数;第行,每行都包含一个字符串;第行的字符串代表从西向东第座城市的名称。第行,每行都包含两个字符串,代表在城市和城市之间存在一条直通航线。
Output
首先判断是否存在满足要求的路线,若不存在,则输出字符串“ ”;若存在,则输出一种旅行方案。输出格式:第行输出一个整数,代表途径最多的城市数;第行每行都输出一个字符串;第行的字符串代表旅行路线中第个经过的城市名称(注意:第个和第个城市必然是出发的城市)。
Samples
8 9
Vancouver
Yellowknife
Edmonton
Calgary
Winnipeg
Toronto
Montreal
Halifax
Vancouver Edmonton
Vancouver Calgary
Calgary Winnipeg
Winnipeg Toronto
Toronto Halifax
Montreal Halifax
Edmonton Montreal
Edmonton Yellowknife
Edmonton Calgary
7
Vancouver
Edmonton
Montreal
Halifax
Toronto
Winnipeg
Calgary
Vancouver