博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu4370 dijkstra矩阵转单向边最短路矩阵+自环闭环
阅读量:5234 次
发布时间:2019-06-14

本文共 994 字,大约阅读时间需要 3 分钟。

/*

矩阵太神奇了Orz,网上的题解大多是spfa,不过我发想dijkstra也能做

把n*n的矩阵看成是单向边距离矩阵就行

*/

#include
#include
#include
#include
#define MAXN 500#define INF 1<<30using namespace std;int a[MAXN][MAXN];int n;int dist[MAXN],vis[MAXN];int dijkstra(int s,int t){ memset(dist,0,sizeof dist); memset(vis,0,sizeof vis); for(int i=0;i<=n;i++) if(i==s) dist[i]=INF; else dist[i]=a[s][i]; while(1){ int k=-1; int Min=INF; for(int i=1;i<=n;i++) if(!vis[i]&&dist[i]
dist[k]+a[k][i]) dist[i]=dist[k]+a[k][i]; } return dist[t];}int main(){ while(scanf("%d",&n)==1){ for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) scanf("%d",&a[i][j]); printf("%d\n",min(dijkstra(1,n),dijkstra(1,1)+dijkstra(n,n))); } return 0;}

 

转载于:https://www.cnblogs.com/zsben991126/p/9797207.html

你可能感兴趣的文章
Project入门学习
查看>>
C#复习笔记(4)--C#3:革新写代码的方式(扩展方法)
查看>>
关于EditText的android:maxLength属性的注意事项
查看>>
第27月第17天 objc_msgSendSuper
查看>>
LeetCode Kill Process
查看>>
LeetCode Moving Average from Data Stream
查看>>
iOS开发 贝塞尔曲线
查看>>
js实现自由落体
查看>>
正则表达式 (C++)
查看>>
深入理解Spring系列之八:常用的扩展接口
查看>>
用vmware workstation制作cloudstack(kvm)镜像及问题解决办法
查看>>
27.有向网邻接表类
查看>>
bzoj 1412 最小割
查看>>
猎头文章(十一)
查看>>
what is 'linesize alignment' meaning?
查看>>
UVa524
查看>>
Android App自动化之使用Ant编译项目多渠道打包
查看>>
React反模式 —— 如何不使用JSX地动态显示组件
查看>>
location alias与root
查看>>
svn: warning: 'xxxxxx' is already under version control
查看>>