【题解】想越狱的小衫
2025-08-03 14:36:11
发布于:浙江
2阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
cin>>n;
vector<pair<int,int>> g[n+1];
while(1){
int a,b,r;
cin>>a>>b>>r;
if(a==0) break;
g[a].push_back({b,r});
}
int dis[2006];
memset(dis,0,sizeof(dis));
dis[1]=0x3f3f3f3f;
queue<int> q;
q.push(1);
while(!q.empty()){
int t=q.front();
q.pop();
for(auto e:g[t]){
int u=e.second;
int v=e.first;
if(dis[v]<min(dis[t],u)){//注意这里的判断条件
dis[v]=min(dis[t],u);
q.push(v);
}
}
}
for(int i=2;i<=n;i++){
cout<<dis[i]<<endl;
}
}
这里空空如也
有帮助,赞一个