hdu 2544 最短路
稍微修改了一下hdu1874的代码就直接过了
不过 31ms 缺陷,一大缺陷
FSPA版:
#include<iostream> #include<string> #include<algorithm> #define MAXN 110 using namespace std; int map[MAXN][MAXN]; //map[i,j]为初始输入的i到j的距离,未知的map[i,j]=INT_MAX; int dis[MAXN],Q[MAXN*100]; char vst[MAXN]; // 参数n表示结点数,s表示源点 int SPFA( int n, int s) { // pri是队列头结点,end是队列尾结点 int i, pri, end, p; memset (vst, 0, sizeof (vst)); for ( int i=0; i<MAXN; ++i) Q[i] = 0; for (i=1; i<=n; i++) dis[i] = INT_MAX; dis[s] = 0; vst[s] = 1; Q[1] = s; pri = 1; end = 2; while (pri < end) { p = Q[pri]; for (i=1; i<=n; ++i) { //更新dis if (map[p][i]!=INT_MAX&&dis[p]+ map[p][i]<dis[i]) { dis[i] = dis[p]+map[p][i]; if (!vst[i]) //未在队列中 { Q[end++] = i; vst[i] = 1; } } } vst[p] = 0; // 置出队的点为未标记 pri++; } return 1; } int main() { int n,m; while (cin>>n>>m&&(n||m)) { for ( int i=1;i<=n;i++) for ( int j=1;j<=n;j++) map[i][j]=INT_MAX; int a,b,len; for ( int i=0;i<m;i++) { cin>>a>>b>>len; if (len<map[a][b]) { map[a][b]=len; map[b][a]=len; } } SPFA(n,1); cout<<dis[n]<<endl; } return 0; } |
dijkstra版:
#include<iostream> #include<string> using namespace std; bool s[101]; int c[110][110],dis[110],n,m; void dijkstra() { for ( int i=1;i<=n;i++) { dis[i]=c[1][i]; } dis[1]=0; for ( int i=2;i<=n;i++) { int tmp=INT_MAX,v=1; for ( int j=1;j<=n;j++) if (!s[j]&&dis[j]<tmp) { tmp=dis[j]; v=j; } s[v]=1; for ( int j=1;j<=n;j++) if (!s[j]&&c[v][j]<INT_MAX) { int newdis=dis[v]+c[v][j]; if (newdis<dis[j]) dis[j]=newdis; } } } int main() { int len; while (cin>>n>>m&&(n||m)) { for ( int i=1;i<=n;i++) for ( int j=1;j<=n;j++) c[i][j]=INT_MAX; int a,b; for ( int k=0;k<m;k++) { cin>>a>>b>>len; if (len<c[a][b]) { c[a][b]=len; c[b][a]=len; } } memset (s,0, sizeof (s)); s[1]=1; dijkstra(); cout<<dis[n]<<endl; } return 0; } |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· .NET 适配 HarmonyOS 进展
· 手把手教你更优雅的享受 DeepSeek
· AI工具推荐:领先的开源 AI 代码助手——Continue
· 探秘Transformer系列之(2)---总体架构
· V-Control:一个基于 .NET MAUI 的开箱即用的UI组件库
· 乌龟冬眠箱湿度监控系统和AI辅助建议功能的实现