查SPFA的资料时偶尔看到一种运用,然后很淡定的敲之1A了

15MS+328k   code:

#include <iostream>#include <cstdio>#include <cstring>using namespace std;

const int N = 207;const int inf = 100000000;

int vis[N], map[N][N];int dis[N], q[N];

void spfa(int n, int s){int i, f, r, p;    memset(vis, 0, sizeof(vis));for(i = 0; i < N; i++)        q[i] = 0;for(i = 0; i < n; i++)        dis[i] = inf;    dis[s] = 0; vis[s] = 1;    q[0] = s; f = 0; r = 1;while(f < r)    {        p = q[f];for(i = 0; i < n; i++)if(dis[i] > map[p][i] + dis[p])            {                dis[i] = map[p][i] + dis[p];if(!vis[i])                {                    q[r++] = i;                    vis[i] = 1;                }            }        vis[p] = 0;        f++;    }}

int main(){int n, m, i, j, a, b, c;//freopen("data.in", "r", stdin);    while(~scanf("%d%d", &n, &m))    {for(i = 0; i < n; i++)for(j = 0; j < n; j++)            {                map[i][j] = inf;if(i == j)    map[i][j] = 0;            }while(m--)        {            scanf("%d%d%d", &a, &b, &c);if(c < map[a][b])                map[a][b] = map[b][a] = c;        }        scanf("%d%d", &a, &b);        spfa(n, a);if(dis[b] < inf)            printf("%d\n", dis[b]);else            printf("-1\n");    }return 0;}

转载于:https://www.cnblogs.com/vongang/archive/2011/08/16/2141334.html

HDU_1874 畅通工程续(SPFA)相关推荐

  1. HDU 1874 畅通工程续 (Dijkstra , Floyd , SPFA, Bellman_Ford 四种算法)

    畅通工程续 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1874 Problem Description 某省自从实行了很多年的畅通工程计划后,终于修 ...

  2. HDOJ 1874 HDU 1874 畅通工程续 ACM 1874 IN HDU

    MiYu原创, 转帖请注明 : 转载自 ______________白白の屋 题目地址:          http://acm.hdu.edu.cn/showproblem.php?pid=1874 ...

  3. hdu 1874畅通工程续(基础Floyd)

    畅通工程续 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Subm ...

  4. HDU-1874 畅通工程续 (最短路径启蒙题)

    hdu 1874比较基础,拿来练各种刚学会的算法比较好,可以避免好多陷阱,典型的最短路模板题 畅通工程续 Time Limit: 3000/1000 MS (Java/Others)    Memor ...

  5. HDU 1874 畅通工程续 2008浙大研究生复试热身赛(2)

    畅通工程续 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submiss ...

  6. HDU 1874 畅通工程续

    畅通工程续 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Subm ...

  7. HDOJ1874 ( 畅通工程续 ) 【单源最短路径】

    Problem : 1874 ( 畅通工程续 )     Judge Status : Accepted RunId : 5991510    Language : C++    Author : q ...

  8. HDU-1874畅通工程续( 最短路)

    畅通工程续 Problem Description 某省自从实行了很多年的畅通工程计划后,终于修建了很多路.不过路多了也不好,每次要从一个城镇到另一个城镇时,都有许多种道路方案可以选择,而某些方案要比 ...

  9. hdu 1874 畅通工程续(求最短距离,dijkstra,floyd)

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=1874 /************************************************* ...

最新文章

  1. Dubbo Admin —— Spring Cloud Alibaba 2021.1 + Nacos + Dubbo Admin参考配置
  2. ADO.NET学习笔记--数据汇总(聚合函数)
  3. MFC界面编程新思路--模仿MATLAB式的界面
  4. WITH RECOMPILE和OPTION(RECOMPILE)区别
  5. POJ - 2718 Smallest Difference
  6. 干掉visio,这是一款免费又好用的画图神器
  7. 图结构 计算机视觉,探索图结构数据上的数据增强
  8. PS滤镜-Topaz Photoshop Plugins Bundle
  9. linux安装wine
  10. Android APP极限瘦身—— WebP 图片优化
  11. python猜拳小游戏_Python入门猜拳小游戏
  12. UOS系统启动盘制作
  13. 【Python 23】52周存钱挑战3.0(循环计数for与range)
  14. python pygame K按键说明
  15. 【Linux 操作系统】Ubuntu 基础操作 基础命令 热键 man手册使用 关机 重启等命令使用
  16. 计算机网络的形成与发展
  17. Oracle基本命令符
  18. Android 解决使用VLC实现视频播放报错 libvlc decoder: more than 5 seconds of late video
  19. 曾经一个程序员把BUG变成了彩蛋,这个程序员却把彩蛋变成了BUG
  20. 拓嘉辰丰:拼多多详情图制作方法

热门文章

  1. wchar_t*和string相互转换
  2. 三种sqrt函数实现
  3. mysql 时间间隔分组_sql的两种以时间间隔分组的方法
  4. Leetcode题库 125.验证回文串(双指针 C实现)
  5. js reduce实现中间件_MapReduce 模型
  6. 视频播放器的界面设计并实现播放器
  7. SAML简介:安全地共享数字身份信息
  8. spring的view
  9. maven乱码解决方案---修改maven编码
  10. checkbox checked属性值