观光旅游


  在桑给巴尔岛这个优美的观光城市边上有一个旅行社。为了尽可能从这些优美风光中获取利润,旅行社接受了一个精明的决定:必须找出一条从同一个地点出发并回到起点的最短的旅游线路。你的任务就是写一个程序找出这样的线路。

  在这个城镇有N个十字路口(标号为1到N)和M条两向的路(标号为1到M)。两个十字路口可以连接着多条路,但不存在从自身到自身的路。每个观光路线是一个路编号的序列 。路 的两端是 ,路 的两端是 。所有的,… 必须是不同的。观光路线的长度为观光路上的所有路的长度和,即L( ) + L( ) +... + L( ) ,这里 L() 是路 的长度() 。你的程序要找出长度最小的观光线路。城镇可能不存在观光线路。

  输入

  输入文件TRIP.IN 的第一行包含两个整数N和M(N <= 100, M <= 10000)。接下来的M行,每行表示一条路,它包含3个正整数:路的两个端点标号和路的长度(小于500)。

  输出

  输出文件TRIP.OUT仅包含一行,如果不存在任何的观光路线,则输出No solution",否则输出一条长度最短的观光线路。如果有多种解,则输出任一解。

  样例1

  TRIP.IN
  5 7
  1 4 1
  1 3 300
  3 1 10
  1 2 16
  2 3 100
  2 5 15
  5 3 20

  TRIP.OUT (one of correct answers)
  1 3 5 2

  样例2

  TRIP.IN
  4 3
  1 2 10
  1 3 20
  1 4 30

  TRIP.OUT (the only correct answer)
  No solution.

 
 
网站导航 | 关于曙光 | 联系我们 | 请提意见
Copyright © FuJian Sunshine Educational Info. Co.,Ltd.
福建曙光教育资讯有限公司 版权所有