2024-11-02 10:25:22
发布于:广东
#include<bits/stdc++.h>
using namespace std;
struct node{
    int from , to,len;
}a[10010];
int n , m , w , x , y,z , s , t;
int d[10010] ;
int main(){
    scanf("%d %d %d %d",&n,&m,&s,&t);
    for(int i = 1;i <= n;i++){
       d[i] = 1e9; 
    }
    d[s] = 0;
    for(int i = 1;i <= m;i++){
        cin>>a[i].from>>a[i].to>>a[i].len;
	}
    int from , to , len;
    for(int k = 1;k < n;k++){
        for(int i = 1;i <= m;i++){
            from = a[i].from,to=a[i].to,len = a[i].len;
            if(d[to] > d[from] + len){
                d[to] = d[from] + len;
            }	
        }
    }
    printf("%d\n",d[t]);
    return 0;
}
这里空空如也






有帮助,赞一个