社区讨论
蒟蒻刚学 OI样例 WA 求条谢谢
B3601[图论与代数结构 201] 最短路问题_1参与者 3已保存回复 6
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 6 条
- 当前快照
- 1 份
- 快照标识符
- @mkaza757
- 此快照首次捕获于
- 2026/01/12 17:46 上个月
- 此快照最后确认于
- 2026/01/16 17:05 上个月
CPP
#include<bits/stdc++.h>
using namespace std;
vector<pair<int,int>>G[1010];
int dis[1010],vis[1010];
int n,m;
void dij(){
priority_queue<int>que;
que.push(1);
memset(dis,-1,sizeof dis);
dis[1]=0,vis[1]=1;
while(!que.empty()){
int f=que.top();
que.pop();
for(int i=0;i<G[f].size();++i){
if(dis[G[f][i].first]==0||dis[G[f][i].first]>dis[f]+G[f][i].second){
dis[G[f][i].first]=dis[f]+G[f][i].second;
que.push(G[f][i].first);
}
}
}
dis[1]=0;
for(int i=1;i<=n;++i){
printf("%d ",dis[i]);
}
}
int main(){
scanf("%d%d",&n,&m);
for(int i=1;i<=m;++i){
int x,y,z;
scanf("%d%d%d",&x,&y,&z);
G[x].push_back(make_pair(y,z));
G[y].push_back(make_pair(x,z));
}
dij();
return 0;
}
回复
共 6 条回复,欢迎继续交流。
正在加载回复...