思路:虽然是最短路专题里的,但也很难想到是最短路,如果能通过这些关系想到图论可能会有些思路.我们把X数组看做邻接矩阵,那么三个条件就转化为了:1.1的出度为1:2.n的入度为1:3.2~n-1的出度等于入度.C*X则是路径花费,最后求满足这些条件的路径的最少花费.满足这些条件的情况有两种:一是1到n的一条最短路径,二是1成自环,n成自环.最后找出两者最小值. 这里要注意下spfa的写法,因为需要成自环,所以dist[st]初始化为INF,保证成自环而非0:先让其他点入队. 代码: #includ…