99我
查看原帖
99我
483209
abcddca楼主2022/10/3 17:08
#include <bits/stdc++.h>
using namespace std;
long long i,j,k,l,n,m,s;
long long a[10000][10000]; 
int main()
{
    int u,v,w;
    cin>>n>>m>>s;
    for(i=1;i<=1001;i++){
        for(j=1;j<=1001;j++){
            a[i][j]=2147483647;
        }
    }
    a[s][s]=0;
    for(i=1;i<=m;i++){
        cin>>u>>v>>w;
        a[u][v]=w;
    }
    for(k=1;k<=m;k++){
        for(i=1;i<=m;i++){
            for(j=1;j<=m;j++){
                if(a[i][j]>a[i][k]+a[k][j]){
                    a[i][j]=a[i][k]+a[k][j];
                }
            }
        }
    }
    for(i=1;i<=n;i++){
        cout<<a[s][i]<<" ";
    }
    return 0; 
}
2022/10/3 17:08
加载中...