博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
洛谷 P1339 [USACO09OCT]热浪Heat Wave(最短路)
阅读量:5325 次
发布时间:2019-06-14

本文共 1139 字,大约阅读时间需要 3 分钟。

嗯...

 

题目链接:https://www.luogu.org/problem/P1339

 

这道题是水的不能在水的裸最短路问题...这里用的dijkstra

 

但是自己进了一个坑——

  因为有些城市之间可能还没有道路,自己只是将其初始化为0,而应该初始化为0x3f3f,从而表示两个城市之间没有道路...

 

AC代码:

1 #include
2 #include
3 #include
4 #include
5 6 using namespace std; 7 const int inf = 0x3f3f; 8 int n, c, ts, te, dis[2505], vis[2505], g[5005][5005]; 9 10 inline void dijkstra(int x){11 for(int i = 1; i <= n; i++) dis[i] = (i == x ? 0 : inf);12 for(int i = 1; i <= n; i++){13 int t = 0, y = inf;14 for(int j = 1; j <= n; j++) if(!vis[j] && dis[j] <= y) y = dis[t = j]; 15 vis[t] = 1;16 for(int j = 1; j <= n; j++) dis[j] = min(dis[j], dis[t] + g[t][j]);17 }18 }19 20 21 int main(){22 memset(g, 0x3f3f, sizeof(g));//初始化!!23 scanf("%d%d%d%d", &n, &c, &ts, &te);24 for(int i = 1; i <= c; i++){25 int u, v, w;26 scanf("%d%d%d", &u, &v, &w);27 g[u][v] = g[v][u] = w;28 }29 dijkstra(ts);30 printf("%d", dis[te]);31 return 0;32 }
AC代码

 

转载于:https://www.cnblogs.com/New-ljx/p/11290997.html

你可能感兴趣的文章
activity 保存数据
查看>>
typescript深copy和浅copy
查看>>
linux下的静态库与动态库详解
查看>>
hbuilder调底层运用,多张图片上传
查看>>
深入理解基于selenium的二次开发
查看>>
较快的maven的settings.xml文件
查看>>
Git之初体验 持续更新
查看>>
Exception in thread "AWT-EventQueue-0" java.lang.IllegalThreadStateException
查看>>
随手练——HDU 5015 矩阵快速幂
查看>>
启动redis一闪就关
查看>>
Maven之setting.xml配置文件详解
查看>>
ASP.NET 4.5 Web Forms and Visual Studio vs2013年入门1
查看>>
SDK目录结构
查看>>
malloc() & free()
查看>>
HDU 2063 过山车
查看>>
高精度1--加法
查看>>
String比较
查看>>
Django之Models
查看>>
CSS 透明度级别 及 背景透明
查看>>
Linux 的 date 日期的使用
查看>>