社区讨论

蒟蒻刚学 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 条回复,欢迎继续交流。

正在加载回复...