2021-06-09
2021/6/9 18:26:03
本文主要是介绍2021-06-09,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
#include<bits/stdc++.h> using namespace std; int n,m,s,d; const int N=1010; const int M=10010; int mp[N][N]; int dis[N]; int vis[N];//标记是否已经求得该点的最短路 int i,j; void dij(int s){ //s为起点 memset(dis,0x3f,sizeof dis); for(int i=1;i<=n;i++){ dis[i]=mp[s][i]; } dis[s]=0; vis[s]=1; for(i=1;i<n;i++){ //找n-1轮 int k=-1; for(j=1;j<=n;j++){ if(vis[j]!=1&&(k==-1||dis[j]<dis[k])) k=j; } vis[k]=1; for(j=1;j<=n;j++){ dis[j]=min(dis[j],dis[k]+mp[k][j]); } } } int main(){ cin>>n>>m>>s; //输入起始定点 memset(mp,0x3f,sizeof mp); for(i=1;i<=m;i++){ int u,v,w; cin>>u>>v>>w; mp[u][v]=w; } dij(s); for(i=1;i<=n;i++){ cout<<dis[i]<<" "; } return 0; }
这篇关于2021-06-09的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-26结对编程到底难不难?答案在这里
- 2024-06-19《2023版Java工程师》课程升级公告
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现
- 2024-06-03为什么以及如何要进行架构设计权衡?
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)