#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
最短路径中的最大值(模板)
最新推荐文章于 2023-12-06 09:50:17 发布
本文深入探讨了在图中寻找最短路径的同时最大化某个指标的问题,讲解了一种结合Dijkstra算法与动态规划的解决方案,并通过实例进行了详细解释。通过对节点权重的巧妙处理,实现了在确保路径最短的同时,优化了路径上的某些属性值。
摘要由CSDN通过智能技术生成