S 是给定圆上n 个带权圆弧的集合。从圆弧IÎS 到圆弧JÎS 的一条路是S 的一个圆弧序列 J(1),J(2),…,J(k),其中 J(1) = I,J(k) = J,且对所有1<= i<= k-1, J(i)与J(i+1)相交。这条路的长度定义为路上各圆弧权之和。在所有从I到J的路中,路长最短的路称为从I到J 的最短路。带权圆弧图的单源最短路问题要求计算从S中一个特定的圆弧到S中所有圆弧之间的最短路。试设计解此问题的有效算法。
对于给定n个带权圆弧,计算从指定圆弧到所有圆弧的最短路。
输入数据的第1行有2 个正整数n和m,表示有n个带权圆弧,并求第m个圆弧到所有圆弧的最短路。第2 行起每行有3 个整数,分别表示带权圆弧
的左端点a,右端点b 和圆弧的权值w。其中,左端点a 和右端点b分别是按顺时针方向的圆心角,0 <= a < b<= 21600。
程序结束时,将计算出的第m个圆弧到所有圆弧的最短路之和输出。当圆弧m与圆弧i不连通时,圆弧m与圆弧i之间的最短路不计入。
4 1 0 10800 10 5400 1620 50 11100 18000 10 17400 600 30
160