求救!!!!!!!!

皓月斯语 2026-07-26 21:22:09

 

img

 

 

img

#include<bits/stdc++.h>
using namespace std;
struct bian{
	int st,ed,w;
} edges[500005];
int n,m,k;
int dis[10005];
bool vis[10005];
int main(){
	cin>>n>>m>>k;
	for(int i=1;i<=m;i++){
		cin>>edges[i].st>>edges[i].ed>>edges[i].w;
	}
	for(int i=1;i<=n;i++){
		dis[i]=0x7fffffff;
	}
	dis[k]=0;
	vis[k]=1;
	int cnt=1;
	
	while(1){
		for(int i=1;i<=m;i++){
			if(edges[i].st==k){
				int xda=dis[k]+edges[i].w;
				int to=edges[i].ed;
				dis[to]=min(dis[to],xda);
			}
		}
		int xyd=0;
		int zx=0xfffffff;
		for(int i=1;i<=n;i++){
			if(vis[i]==false&&dis[i]<zx){
				zx=dis[i];
				xyd=i;
			}
		}
		if(xyd==0){
			break;
		}
		vis[xyd]=true;
		cnt++;
		k=xyd;
		if(cnt==n){
			break;
		}
	}
	for(int i=1;i<=n;i++){
		cout<<dis[i]<<" ";
	}
	return 0;
}

 

 

...全文
47 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

304,294

社区成员

发帖
与我相关
我的任务
社区描述
C++领域交流社区,旨在为大家提供一个文明交流,互相探讨兴趣爱好的环境,欢迎各位大佬加入。
c++ 个人社区 广东省·深圳市
社区管理员
  • 桃花键神
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧