以前做过这套题目 这个题又重新写了:http://www.cnblogs.com/jh818012/archive/2013/05/05/3182681.html 还是以前的思路 一直错在一个地方:决策的时候,如果没有走过,直接更新,如果走过,总是选最小值.如果走的是小于mid值的边,那么用tmp = max(dp[x][u] , e[i].val) 更新. 代码比以前好多了好像. #define maxn 1005 int dp[maxn][maxn]; int n,m,k; struct n…