#P10927. Sightseeing trip

Sightseeing trip

题目描述

There is a travel agency in Adelton town on Zanzibar island. It has decided to offer its clients, besides many other attractions, sightseeing the town. To earn as much as possible from this attraction, the agency has accepted a shrewd decision: it is necessary to find the shortest route which begins and ends at the same place. Your task is to write a program which finds such a route.

In the town there are NN crossing points numbered from 11 to NN and MM two-way roads numbered from 11 to MM. Two crossing points can be connected by multipleroads, but no road connects a crossing point with itself. Each sightseeingroute is a sequence of road numbers y1y_1, ..., yky_k, k>2k>2. The road yi(1ik1)y_i(1\le i\le k-1) connects crossing points xix_i and xi+1x_{i+1}, the road yky_k connectscrossing points xkx_k and x1x_1. All the numbers x1x_1,...,xkx_k should be different.The length of the sightseeing route is the sum of the lengths of all roads onthe sightseeing route, i.e. L(y1)+L(y2)+L(y_1)+L(y_2)+...+L(yk)+L(y_k) where L(yi)L(y_i) is thelength of the road yi(1ik)y_i (1\le i\le k). Your program has to find such a sightseeingroute, the length of which is minimal, or to specify that it is not possible, because there is no sightseeing route in the town.

输入格式

The first line of input file TRIP. IN contains two positive integers: the number of crossing points N100N \le 100 and the number of roads M10000M\le 10000. Each of the next MM lines describes one road. It contains 3 positive integers: the number of its first crossing point, the number of the second one, and the length of the road (a positive integer less than 500500).

输出格式

There is only one line in output file TRIP.OUT. It contains either a string 'No solution.' in case there isn't any sightseeing route, or it contains the numbers of all crossing points on the shortest sightseeing route in the order how to pass them (i.e. the numbers x1x_1 to xkx_k from our definition of a sightseeing route), separated by single spaces. If there are multiple sightseeing routes of the minimal length, you can output any one of them.

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

4 3
1 2 10
1 3 20
1 4 30
No solution.