配有视频讲解
2026-03-28 21:03:52
发布于:上海
0阅读
0回复
0点赞
#include<bits/stdc++.h>
#include <queue>
using namespace std;
const int N=2e3+5;
int n,m,x,y,rp,vis[N],mp[N][N];
int main(){
cin>>n;
while(cin>>x>>y>>rp){
mp[x][y]=rp;
}
priority_queue<pair<int,int>> pq;
pq.push({1e9,1});
while(pq.size()){
int rpnow=pq.top().first,t=pq.top().second;
pq.pop();
if(vis[t]) continue;
vis[t]=rpnow;
for(int i=2;i<=n;i++){
if(!vis[i]&&mp[t][i]){
pq.push({min(rpnow,mp[t][i]),i});
}
}
}
for(int i=2;i<=n;i++) cout<<vis[i]<<endl;
return 0;
}
视频网址:https://www.bilibili.com/video/BV1uT4y1P7CX/?spm_id_from=333.337.search-card.all.click
这里空空如也

有帮助,赞一个