hrbust 2369 Find the shortest path

题意:

    最短路裸题:

唯一坑点两点间路径不唯一去最短。

#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
#define inf 0x3f3f3f3f
int T;
int n,m;
int M[105][105];
int main(){
    scanf("%d",&T);
    while(T--){
        scanf("%d%d",&n,&m);
        memset(M,inf,sizeof(M));
        for(int i=0;i<m;i++){
            int u,v,l;
            scanf("%d%d%d",&u,&v,&l);
            M[u][v]=M[v][u]=min(M[u][v],l);
        }
        for(int k=1;k<=n;k++){
            for(int i=1;i<=n;i++){
                for(int j=1;j<=n;j++){
                    M[i][j]=min(M[i][j],M[i][k]+M[k][j]);
                }
            }
        }
        if(M[1][n]<inf)
        printf("%d\n",M[1][n]);
        else printf("Bad luck!\n");
    }
}


猜你喜欢

转载自blog.csdn.net/lj130lj/article/details/79691830
今日推荐