A Walk Through the Forest dijkstra(邻接矩阵)
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(邻接矩阵)相关推荐
- HDU 1142 A Walk Through the Forest dijkstra + DFS
http://acm.hdu.edu.cn/showproblem.php?pid=1142 题意: Jimmy在位置 1 ,每天晚上要回位置2(家),计算1到2的最短距离,Jimmy要先去一个地方然 ...
- A Walk Through the Forest HDU - 1142(dijkstra+动态规划)
题目大意: 给你一个图,找最短路.但是有个非一般的的条件:如果a,b之间有路, 且你选择要走这条路,那么必须保证a到终点的所有路都小于b到终点的 一条路.问满足这样的路径条数 有多少... 解题思路 ...
- UVA 10917 Walk Through the Forest
最短路+DP Walk Through the Forest Time Limit: 3000MS Memory Limit: Unknown 64bit IO Format: %lld &a ...
- 最短路径Dijkstra(邻接矩阵)
#include "stdafx.h" #include <iostream> #include <fstream> #include <Window ...
- A Walk Through the Forest
http://acm.hdu.edu.cn/showproblem.php?pid=1142 题解: 看样子很多人都把这题目看错了,以为是求最短路的条数.真正的意思是:假设 A 和 B 是相连的,当前 ...
- 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 ...
- 8-14-Exercise
8-14-小练 这次是我这组出题......我出的是B.C.D[虽然本来是想出的很难......╮(╯▽╰)╭但是,没找到AC1000+同时又让我想出的难题......SO...我出的真的不难= =] ...
- 最短路算法详解(Dijkstra/SPFA/Floyd)
转自:http://blog.csdn.net/murmured/article/details/19281031 一.Dijkstra Dijkstra单源最短路算法,即计算从起点出发到每个点的最短 ...
- 最短路(Dijkstra)
Graph 图论 1.最短路(Dijkstra) 不足:当有向图中出现负权时,则Dijkstra算法失效. 1.Dijkstra单源最短路(二维数组) 首先我们需要这样几个数组: vis[ i ]:编 ...
最新文章
- Slide:11g新特性-在线实施补丁online patching
- java sqlserver 2000_谁能救救我啊,关于JAVA连接SQLserver2000
- mysql的explain怎么看_mysql中explain用法详解
- 单片机小白学步系列(十七) 单片机/计算机系统概述:核心模块
- 比较交换/(选择)排序法和冒泡排序法(C语言)
- python 在Excel中新增一列
- mac黑白打印和彩色打印
- RS485接口与RJ45接口的区别与通讯限制
- 康佳电视系统升级服务器地址,康佳电视各平台升级方法及强制刷机汇总
- 平头哥CH2601开发环境(CDK)搭建
- 【BZOJ1921】【CTSC2010】珠宝商(点分治,后缀自动机)
- 你是真的“C”——详解C语言函数模块知识(上篇)
- 【opencv】selective_search函数
- html css齿轮滚动特效,CSS_纯CSS3实现滚动的齿轮动画效果,纯CSS写的齿轮效果。支持chrome - phpStudy...
- 观看M-studio的unity中文教程(开发一款移动设备运行的2D游戏)学习记录
- 亚马逊宣布与大自然保护协会合作,投资巴西基于自然的碳移除解决方案
- 计算机图像技术在医学上的应用,计算机图像处理技术在医学中的应用
- 【图文并茂】教你在线一键重装正版Win10系统
- 解决Safari浏览器下载文件文件名称乱码的问题
- JL690X(2)驱动RGB灯带
热门文章
- 微软 Small Basic
- 自动备份SQL Server数据库中用户创建的Stored Procedures
- c语言输出字符串长度 空格,C++指针变量:输入一个字符串,删除字符串中所有空格,输出删除空格后字符串的长度,需编写以下功能函数...
- tomcat 占用的内存越来越大_智能手机内存为什么越来越大 就这三点原因
- mybatis批量更新及其效率问题
- 水文勘测工比赛计算机基本应用,第四届全国水文勘测工大赛内业操作试题A卷.doc...
- python tqdm记录dataframe使用iterrows或iteritems循环行或循环列时的进度
- python selenium加载插件
- pandas创建与保存(导入与导出)dataframe
- mongoose 批量修改字段_常用SQL系列之(五):多表和禁止插入、批量与特殊更新等...