http://acm.hdu.edu.cn/showproblem.php?pid=1142

dijkstra(邻接矩阵)

 1 #include <cstdio>
 2 #include <cstring>
 3 #include <iostream>
 4 using namespace std;
 5 const int INF=1<<29;
 6 const int MAXN=1000+5;
 7 int v[MAXN],d[MAXN];
 8 int w[MAXN][MAXN];
 9 int n,m;
10 void dijkstra()
11 {
12     memset(v,0,sizeof(v));
13     for(int i=1;i<=n;i++) d[i]=INF;
14     d[2]=0;
15     for(int i=1;i<=n;i++)
16     {
17         int x,m=INF;
18         for(int y=1;y<=n;y++) if(!v[y]&&d[y]<=m) m=d[x=y];
19         v[x]=1;
20         for(int y=1;y<=n;y++) if(d[y]>d[x]+w[x][y]) d[y]=d[x]+w[x][y];
21     }
22 }
23 int roat[MAXN];
24 int dfs(int i)
25 {
26     int j,ans=0;
27     if(roat[i]!=0) return roat[i];
28     if(i==2) return 1;
29     for(j=1;j<=n;j++) if(w[i][j]!=INF&&d[i]>d[j])
30     {
31         roat[j]=dfs(j);
32         ans+=dfs(j);
33     }
34    return roat[i]=ans;
35 }
36 int main()
37 {
38     int i,j,a,b,wl;
39     while(cin>>n&&n)
40     {
41         cin>>m;
42         for(i=1;i<=n;i++)
43         for(j=1;j<=n;j++)
44             w[i][j]=INF;
45         for(i=0;i<m;i++) {scanf("%d%d%d",&a,&b,&wl);w[a][b]=wl;w[b][a]=wl;}
46         dijkstra();
47         memset(roat,0,sizeof(roat));
48         dfs(1);
49         cout<<roat[1]<<endl;
50     }
51     return 0;
52 }

转载于:https://www.cnblogs.com/qijinbiao/archive/2012/07/11/2585699.html

A Walk Through the Forest dijkstra(邻接矩阵)相关推荐

  1. HDU 1142 A Walk Through the Forest dijkstra + DFS

    http://acm.hdu.edu.cn/showproblem.php?pid=1142 题意: Jimmy在位置 1 ,每天晚上要回位置2(家),计算1到2的最短距离,Jimmy要先去一个地方然 ...

  2. A Walk Through the Forest HDU - 1142(dijkstra+动态规划)

    题目大意: 给你一个图,找最短路.但是有个非一般的的条件:如果a,b之间有路, 且你选择要走这条路,那么必须保证a到终点的所有路都小于b到终点的 一条路.问满足这样的路径条数 有多少... 解题思路 ...

  3. UVA 10917 Walk Through the Forest

    最短路+DP Walk Through the Forest Time Limit: 3000MS   Memory Limit: Unknown   64bit IO Format: %lld &a ...

  4. 最短路径Dijkstra(邻接矩阵)

    #include "stdafx.h" #include <iostream> #include <fstream> #include <Window ...

  5. A Walk Through the Forest

    http://acm.hdu.edu.cn/showproblem.php?pid=1142 题解: 看样子很多人都把这题目看错了,以为是求最短路的条数.真正的意思是:假设 A 和 B 是相连的,当前 ...

  6. UVA10917 Walk Through the Forest

    题目描述 PDF 输入输出格式 输入格式: 输出格式: 输入输出样例 输入样例#1: 5 6 1 3 2 1 4 2 3 4 3 1 5 12 4 2 34 5 2 24 7 8 1 3 1 1 4 ...

  7. 8-14-Exercise

    8-14-小练 这次是我这组出题......我出的是B.C.D[虽然本来是想出的很难......╮(╯▽╰)╭但是,没找到AC1000+同时又让我想出的难题......SO...我出的真的不难= =] ...

  8. 最短路算法详解(Dijkstra/SPFA/Floyd)

    转自:http://blog.csdn.net/murmured/article/details/19281031 一.Dijkstra Dijkstra单源最短路算法,即计算从起点出发到每个点的最短 ...

  9. 最短路(Dijkstra)

    Graph 图论 1.最短路(Dijkstra) 不足:当有向图中出现负权时,则Dijkstra算法失效. 1.Dijkstra单源最短路(二维数组) 首先我们需要这样几个数组: vis[ i ]:编 ...

最新文章

  1. Slide:11g新特性-在线实施补丁online patching
  2. java sqlserver 2000_谁能救救我啊,关于JAVA连接SQLserver2000
  3. mysql的explain怎么看_mysql中explain用法详解
  4. 单片机小白学步系列(十七) 单片机/计算机系统概述:核心模块
  5. 比较交换/(选择)排序法和冒泡排序法(C语言)
  6. python 在Excel中新增一列
  7. mac黑白打印和彩色打印
  8. RS485接口与RJ45接口的区别与通讯限制
  9. 康佳电视系统升级服务器地址,康佳电视各平台升级方法及强制刷机汇总
  10. 平头哥CH2601开发环境(CDK)搭建
  11. 【BZOJ1921】【CTSC2010】珠宝商(点分治,后缀自动机)
  12. 你是真的“C”——详解C语言函数模块知识(上篇)
  13. 【opencv】selective_search函数
  14. html css齿轮滚动特效,CSS_纯CSS3实现滚动的齿轮动画效果,纯CSS写的齿轮效果。支持chrome - phpStudy...
  15. 观看M-studio的unity中文教程(开发一款移动设备运行的2D游戏)学习记录
  16. 亚马逊宣布与大自然保护协会合作,投资巴西基于自然的碳移除解决方案
  17. 计算机图像技术在医学上的应用,计算机图像处理技术在医学中的应用
  18. 【图文并茂】教你在线一键重装正版Win10系统
  19. 解决Safari浏览器下载文件文件名称乱码的问题
  20. JL690X(2)驱动RGB灯带

热门文章

  1. 微软 Small Basic
  2. 自动备份SQL Server数据库中用户创建的Stored Procedures
  3. c语言输出字符串长度 空格,C++指针变量:输入一个字符串,删除字符串中所有空格,输出删除空格后字符串的长度,需编写以下功能函数...
  4. tomcat 占用的内存越来越大_智能手机内存为什么越来越大 就这三点原因
  5. mybatis批量更新及其效率问题
  6. 水文勘测工比赛计算机基本应用,第四届全国水文勘测工大赛内业操作试题A卷.doc...
  7. python tqdm记录dataframe使用iterrows或iteritems循环行或循环列时的进度
  8. python selenium加载插件
  9. pandas创建与保存(导入与导出)dataframe
  10. mongoose 批量修改字段_常用SQL系列之(五):多表和禁止插入、批量与特殊更新等...