网站添加wordpress博客,国际网站模板,北京网站建设的价格天,网站 微信小程序怎么做Problem Description 在每年的校赛里#xff0c;所有进入决赛的同学都会获得一件很漂亮的t-shirt。但是每当我们的工作人员把上百件的衣服从商店运回到赛场的时候#xff0c;却是非常累的#xff01;所以现在他们想要寻找最短的从商店到赛场的路线#xff0c;你可以帮助他们…Problem Description 在每年的校赛里所有进入决赛的同学都会获得一件很漂亮的t-shirt。但是每当我们的工作人员把上百件的衣服从商店运回到赛场的时候却是非常累的所以现在他们想要寻找最短的从商店到赛场的路线你可以帮助他们吗
Input 输入包括多组数据。每组数据第一行是两个整数N、MN100M10000N表示成都的大街上有几个路口标号为1的路口是商店所在地标号为N的路口是赛场所在地M则表示在成都有几条路。NM0表示输入结束。接下来M行每行包括3个整数ABC1A,BN,1C1000,表示在路口A与路口B之间有一条路我们的工作人员需要C分钟的时间走过这条路。 输入保证至少存在1条商店到赛场的路线。
Output 对于每组输入输出一行表示工作人员从商店走到赛场的最短时间
Sample Input
2 1 1 2 3 3 3 1 2 5 2 3 5 3 1 2 0 0
Sample Output
3 2
代码如下
#include iostream
using namespace std;
const int N 110;
int g[N][N];
const int INF 1 30;
int n, m;void Floyd() {for (int k 1; k n; k)for (int i 1; i n; i)if (g[i][k] ! INF)for (int j 1; j n; j) {if (g[i][j] g[i][k] g[k][j])g[i][j] g[i][k] g[k][j];}cout g[1][n] endl;
}int main() {while (cin n m, n, m) {for (int i 1; i n; i)for (int j 1; j n; j)g[i][j] INF;while (m--) {int a, b, c;cin a b c;g[a][b] g[b][a] c;}Floyd();}return 0;
}