栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

紧急救援(迪杰斯特拉模板)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

紧急救援(迪杰斯特拉模板)

#include
#include
const int N=505;
#define  inf  0x3f3f3f3f
using namespace std;
int mp[N][N];
int maxx[N]; // 记录救援数量
int num[N];   // 记录同一个路径的个数
int dis[N];   //最短路径
int visit[N];   // 记录是否被访问过
int pre[N];     // 记录前驱
int a[N];       //记录每个点的救援队数量
int n,m,s,d;
void dj(int start)
{
    //   进行初始化
    memset(visit,0,sizeof(visit));
    for(int i=0; idis[k]+mp[j][k])
                {
                    dis[j]=dis[k]+mp[j][k];
                    maxx[j]=maxx[k]+a[j];
                    pre[j]=k;
                    num[j]=num[k];
                }
                else if(dis[j]==dis[k]+mp[k][j])
                {
                    num[j]+=num[k];
                    if(maxx[j]x;
  //  cout <<"打印路径"<>n>>m>>s>>d;
    for(int i=0; i>a[i];
       num[i]=1;    //每一个点的最短路径初始化为1
    }
    memset(mp,inf,sizeof(mp));
    for(int i=0; i>x>>y>>len;
        mp[x][y]=min(mp[x][y],len);
        mp[y][x]=min(mp[y][x],len);
    }
    dj(s);
    cout <
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/739310.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号