HDU - 2544 - 最短路
来源:互联网 发布:网络公司简介范文 编辑:程序博客网 时间:2024/05/21 16:58
HDU - 2544 - 最短路
Dijkstra最短路算法
题目
解法
依旧是用的Dijkstra的模版,不过刚开始Wa了,应该是数组开小了吧。
// 2544 - 最短路const int INF = 0x3f3f3f3f;const int maxn = 105;int N, M;int road[maxn][maxn];int d[maxn] = {INF};bool used[maxn];void dijkstra() { fill(d, d + N, INF); fill(used, used + N, false); d[1] = 0; for (; ; ) { int v = -1; for (int u = 1; u <= N; u++) { if (!used[u] && (v == -1 || d[u] < d[v])) { v = u; } } if (v == -1) { break; } used[v] = true; for (int u = 1; u <= N; u++) { d[u] = min(d[u], d[v] + road[v][u]); } }}void solve() { dijkstra(); printf("%d\n", d[N]);}int main() { int A, B, C; while (~scanf("%d%d", &N, &M)) { if (N == 0 && M == 0) { break; } for (int i = 1; i <= N; i++) { for (int j = 1; j <= i; j++) { road[i][j] = road[j][i] = INF; } } while (M--) { scanf("%d%d%d", &A, &B, &C); road[A][B] = road[B][A] = C; } solve(); } return 0;}
Ac代码
// 2544 - 最短路// Dijkstraconst int INF = 0x3f3f3f3f;const int maxn = 1001;int edge[maxn][maxn];int d[maxn];bool used[maxn];int N, M;void dijkstra() { fill(d, d + maxn, INF); fill(used, used + maxn, false); d[1] = 0; for (; ; ) { int v = -1; for (int u = 1; u <= N; u++) { if (!used[u] && (v == -1 || d[u] < d[v])) { v = u; } } if (v == -1) { break; } used[v] = true; for (int u = 1; u <= N; u++) { d[u] = min(d[u], d[v] + edge[v][u]); } }}int main() { int from, to, cost; while (~scanf("%d%d", &N, &M)) { if (N == 0 && M == 0) { break; } else { for (int i = 1; i <= N; i++) { for (int j = 1; j < i; j++) { edge[i][j] = edge[j][i] = INF; } } for (int i = 1; i <= N; i++) { edge[i][i] = 0; } while (M--) { scanf("%d%d%d", &from, &to, &cost); if (cost < edge[from][to]) { edge[from][to] = edge[to][from] = cost; } } dijkstra(); printf("%d\n", d[N]); } } return 0;}
总结
现在对数组范围大小还是没有一个清晰的概念,,,或许题做多了就知道了吧。。
1 0
- 最短路 2544hdu
- HDU 2544 最短路
- HDU-2544 最短路
- Hdu-2544 最短路
- HDU 2544 最短路
- hdu 2544 最短路
- HDU 2544 ( 最短路 )
- hdu 2544 最短路
- HDU 2544 最短路
- hdu 2544 最短路
- hdu 2544 最短路
- HDU 2544 最短路
- hdu 2544 最短路
- HDU 2544 最短路
- hdu 2544 最短路
- HDU 2544 最短路
- hdu 2544 最短路
- hdu 2544 最短路
- vs2013下配置GDI+的步骤
- MySQL性能优化——易实现的MySQL优化方案汇总
- HTML5地理位置定位API接口开发
- c++ 中复合类型之-引用
- 1163 最高的奖励 优先队列
- HDU - 2544 - 最短路
- Theano 中文文档 0.9 - 5. 安装Theano
- 升级到SQL Server 2012-2014时一些需要考虑的事项
- 使用C++实现一套简单的状态机模型——实例
- Theano 中文文档 0.9 - 5.1 Ubuntu安装说明
- gdb的常用命令
- RabbitMQ--01--RabbitMQ本地服务器的安装
- 调用免费的web service(天气预报,手机号归属地)案例(四)
- 碎碎念