Floyed算法 最短路径
#include<iostream>
#include<cstdio>
int v,e,n;             //v是顶点数,e是条数
int v1[101][101],path[101][101];    
using namespace std;
void input(int n)
{
    int max=99999;
	int x;
	for(int i=1;i<=n;i++)
	  for(int j=1;j<=n;j++)
	  {
	  	cin>>x;
	  	if(x!=0)  v1[i][j]=x;
	  	else      v1[i][j]=max;
	  	path[i][j]=j;
	  }
}
void floyed(int n,int x,int y)
{
	int i,j,k;
	for(k=1;k<=n;k++)
	  for(i=1;i<=n;i++)
	    for(j=1;j<=n;j++)
	    	if(v1[i][j]>v1[i][k]+v1[k][j])
	    	  v1[i][j]=v1[i][k]+v1[k][j];
	    	  path[i][j]=path[i][k];
cout<<v1[x][y]<<endl;
	int f=x;
	while(f!=y)
	 {
	 	cout<<f<<"-->";
	 	f=path[f][y];
	 }
	 cout<<y;	
}
int main()
{
	int x,y;
	cin>>n; 
	input(n);
	cin>>x>>y;
	floyed(n,x,y);
 }
Floyed算法 最短路径的更多相关文章
- floyed算法
		
Floyed算法(实际是动态规划问题) 问题:权值矩阵matrix[i][j]表示i到j的距离,如果没有路径则为无穷 求出权值矩阵中任意两点间的最短距离 分析:对于每一对定点u,v看是否存在一个点w使 ...
 - POJ 3660 Cow Contest(传递闭包floyed算法)
		
Cow Contest Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 5989 Accepted: 3234 Descr ...
 - poj3259Wormholes (Bellman_Ford/SPFA/Floyed算法判断是否存在负环)
		
题目链接:http://poj.org/problem?id=3259 题目大意:一个图,有n个顶点,其中有m条边是双向的且权值为为正,w条边是单向的且权值为负,判断途中是否存在负环,如果有输出YES ...
 - 数据结构与算法--最短路径之Bellman算法、SPFA算法
		
数据结构与算法--最短路径之Bellman算法.SPFA算法 除了Floyd算法,另外一个使用广泛且可以处理负权边的是Bellman-Ford算法. Bellman-Ford算法 假设某个图有V个顶点 ...
 - 数据结构与算法--最短路径之Floyd算法
		
数据结构与算法--最短路径之Floyd算法 我们知道Dijkstra算法只能解决单源最短路径问题,且要求边上的权重都是非负的.有没有办法解决任意起点到任意顶点的最短路径问题呢?如果用Dijkstra算 ...
 - 数据结构与算法--最短路径之Dijkstra算法
		
数据结构与算法--最短路径之Dijkstra算法 加权图中,我们很可能关心这样一个问题:从一个顶点到另一个顶点成本最小的路径.比如从成都到北京,途中还有好多城市,如何规划路线,能使总路程最小:或者我们 ...
 - floyed算法的一些感想
		
for(int k=1;k<=n;k++) for(int i=1;i<=n;i++) for(int j=1;j<=k;j++) if(f[i][k]+f[k][j]<f[i ...
 - SDUT OJ 图结构练习——最短路径 ( Floyed 算法 AND Dijkstra算法)
		
图结构练习——最短路径 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem ...
 - (Dijkstra)迪杰斯特拉算法-最短路径算法
		
迪杰斯特拉算法是从一个顶点到其余各顶点的最短路径算法,解决的是有向图中最短路径问题.迪杰斯特拉算法主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止. 算法思想:设G=(V,E)是一个带权有向图 ...
 
随机推荐
- UNIX时间戳及日期的转换与计算
			
UNIX时间戳是保存日期和时间的一种紧凑简洁的方法,是大多数UNIX系统中保存当前日期和时间的一种方法,也是在大多数计算机语言中表示日期和时间的一种标准格式.以32位整数表示格林威治标准时间,例如,使 ...
 - bat判断某个目录是否存在
			
使用批处理判断某个目录是否存在的语句. if not exist xxx_folder_name md xxx_folder_name
 - Project: Individual Project - Word frequency program-11061160顾泽鹏
			
一.预计用时: (1)明确要求:15min: (2)文件的遍历:1h: (3)Simple mode 词频统计:0.5h: (4)extend mode 词频统计:1h: (5)对单词词频排序输出:0 ...
 - Linux_cloudera-scm-agent: unrecognized service
 - Unity3D 经验记录
			
1.using UnityEngine.SceneManagement; 当在01场景调用02场景时,再载入回01场景时,代码保存的变量不会初始化,预制物体脚本内的变量会初始化. 2.当子物体太多时, ...
 - Android判读是否安装了某一款APP
			
/** * @Title: isAvilible * @Description: 断手机已安装某程序 * @param @param context * @param @param packageNa ...
 - 一个简单的以User权限启动外部应用程序
			
BOOL ExecuteAsUser(LPCWSTR lpszUserName, LPCWSTR lpszPassword, LPCWSTR lpszApplication, LPCWSTR lpsz ...
 - 抛出异常的区别 throw 和throw ex
			
在面试的过程中提到了异常捕获的的几种用法,之前一直使用但是没有仔细留意,调试程序的过程中发现还是有区别的,主要区别在堆栈信息的起始点不同,下边我们通过实例来看这集中不同的抛出异常的方法. 一般我们推荐 ...
 - (总结)工作中常用的js自定义函数——日期时间类
			
//设置时间类 var Wsdatatime = function(){ this.today = (new Date()).getTime(); //当前时间 } Wsdatatime.protot ...
 - 寻找第K小元素
			
要在一个序列里找出第K小元素,可以用排序算法,然后再找.可以证明,排序算法的上界为O(nlogn). 在这里,给出两种可以在线性时间内找出第K小元素的方法. 方法1: (1) 选定一个比较小的阈值(如 ...