#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<stdlib.h>
using namespace std;
const int N=1005;
const int inf=0x3f3f3f;
int n;
int vis[N];
int mp[N][N];
int dis[N];
void dij()
{
int mi,v;
memset(vis,0,sizeof(vis));
for(int i=1; i<=n; i++)
dis[i]=mp[1][i];
for(int i=1; i<=n; i++)
{
mi=inf;
for(int j=1; j<=n; j++)
{
if(!vis[j]&&dis[j]<mi)
{
mi=dis[j];
v=j;
}
}
vis[v]=1;
for(int j=1; j<=n; j++)
{
if(!vis[j]&&dis[j]>dis[v]+mp[v][j])
dis[j]=dis[v]+mp[v][j];
}
}
}
以上求最短路径
int main()
{
while(scanf("%d",&n)!=EOF)
{
for(int i=1;i<=n;i++)
for(in
最短路径中的最大值(模板)
最新推荐文章于 2021-09-13 01:00:18 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)