当前位置: 首页 > news >正文

.net 建网站打开百度一下搜索

.net 建网站,打开百度一下搜索,河北疫情最新数据,网站建设seo虾哥网络问题描述 热心公益的G哥哥又来举办慈善晚会了,这次他邀请到了巴菲特、马云等巨富,还邀请到了大V、小C等算法界泰斗。晚会一共邀请了n位尊贵的客人,每位客人都位于不同的城市,也就是说每座城市都有且仅有一位客人。这些城市的编号为…

问题描述

    热心公益的G哥哥又来举办慈善晚会了,这次他邀请到了巴菲特、马云等巨富,还邀请到了大V、小C等算法界泰斗。晚会一共邀请了n位尊贵的客人,每位客人都位于不同的城市,也就是说每座城市都有且仅有一位客人。这些城市的编号为1,2,...,n,G哥哥决定将晚会放在p城市举办。

    城市之间有m条单向的交通路径(两座城市间可能同时存在多条直接相连的路径),通过每一条路的花费的金币为ti 。G哥哥十分慷慨大方,决定为他的客人们报销了旅途中的花费。这些客人也都比较节俭,因此他们会选择花费最少的路径往返p城市。其中有一些客人住在偏远的城市,他们的城市与p城市之间没有直接或者间接能抵达的道路,于是G哥哥决定从p城市派遣飞机去接送客人,由于派遣的私人飞机比较豪华,航空公司给出的价格一个人坐一次需要61109567金币并且G哥哥还要支付1000000000的油费。

    G哥哥想知道客人中花费金币最多的人需要在路上花费多久金币。

输入格式

    输出一行一个整数,表示花费金币最多的客人所需的金币。

样例输入

4 7 2
1 3 2
3 4 4
4 2 3
1 4 7
1 2 4
2 3 5
3 1 2

样例输出

12
//本题的主要难点为:
//dijkstra(int start)对于有向图,求的是起点start->i的最短距离
//由于本题是有向图,一往一返需要跑两次dijkstra,分别求i->p和p->i
//此外还要注意到题目中提到的1000000000+61109567就是0x3f3f3f3f
//故极大值只能声明为0x3f3f3f3f,否则用其来初始化dist矩阵时会出错
#include <bits/stdc++.h>using namespace std;const int N=1050;
const int inf=0x3f3f3f3f;//注意0x3f3f3f3f就是题目中的1000000000+61109567 struct Node//用于dijkstra算法的图结点类 
{int nex;//邻接点 int weight;//边权 Node(){}Node(int n,int w)//构造函数 {nex=n;weight=w;    }    bool operator<(const Node& n)const//重载<运算符用于堆排序 {if(weight==n.weight)return nex<n.nex;else return weight>n.weight;}
};int n,m,p;
vector<Node>edge[N];
bool visit[N];//标记结点是否已访问 
int dist1[N],dist2[N],dist3[N];void dijkstra(int start,int dist[])
//dijkstra算法求解起点start到所有结点的最短距离,结果存入dist数组 
{memset(dist,0x3f,N*sizeof(int));//把数组当函数参数会退化成指针,sizeof(dist)只能得到1字节 memset(visit,0,sizeof(visit));//清空标记数组//以下是标准模板,省略注释 priority_queue<Node>pq;dist[start]=0;pq.push(Node(start,dist[start]));while(!pq.empty())    {Node head=pq.top();pq.pop();int nex=head.nex;int weight=head.weight;if(visit[nex])continue;visit[nex]=true;for(const auto &n:edge[nex]){if(dist[n.nex]>dist[nex]+n.weight){dist[n.nex]=dist[nex]+n.weight;pq.push(Node(n.nex,dist[n.nex]));}}}
}int main()
{scanf("%d%d%d",&n,&m,&p);for(int i=1;i<=m;i++)//m条有向边 {int u,v,t;scanf("%d%d%d",&u,&v,&t);edge[u].push_back(Node(v,t)); }    int ans=0;for(int i=1;i<=n;i++)//求i->p的最短路径 {dijkstra(i,dist1);//cout<<"dist1["<<p<<"] = "<<dist1[p]<<endl;dist3[i]=dist1[p];//保存i到p的最短距离 }dijkstra(p,dist2);//求p->i的最短路径,dist2[i]即p到i的最短距离 for(int i=1;i<=n;i++)//对每一名客人(结点) {ans=max(ans,dist3[i]+dist2[i]);//比较往返过程中的最大花费 //附:若初始化的极大值inf不为0x3f3f3f3f,则在此句之前应该进行如下特判//if(dist3[i]>=inf)dist3[i]=0x3f3f3f3f;//if(dist2[i]>=inf)dist2[i]=0x3f3f3f3f;}printf("%d\n",ans);return 0;
}

http://www.hkea.cn/news/211896/

相关文章:

  • 做网站原型图软件优化设计七年级下册语文答案
  • 2023年舆情分析报告seo优化宣传
  • 武汉网站建设 熊掌号最佳磁力引擎吧
  • 教育平台网站开发品牌运营
  • 91人才网赣州招聘网安卓优化大师app下载安装
  • 合肥网页模板建站营业推广策划
  • 网站做301根目录在哪教育培训机构平台
  • 企业做网站域名需要自己申请吗深圳百度推广客服电话多少
  • 备案网站容易被收录公司网站建设费用多少
  • 4s店网站建设方案百度app下载最新版
  • 创建电子商务网站的7个步骤做网站推广需要多少钱
  • DW怎么做电商网站梅花seo 快速排名软件
  • 哪个网站可以查企业信息今日热搜榜官网
  • 做网站有必要注册商标吗河北百度seo关键词
  • 网站更换服务器教程下载app到手机上并安装
  • 学校网站建设都是谁做的网络舆情分析
  • 怎么把现有网站开发php昆明seo排名外包
  • 网站桥页怎么找理发培训专业学校
  • 谷城网站开发百度导航官网
  • 做网站不优化平面设计网站
  • 聊城做网站的公司价格谷歌seo软件
  • 支部网站及活动室建设网页广告调词平台
  • 网站建设的企业抚州seo外包
  • 澳门wap网站制作百度关键词检测工具
  • 哪些外贸网站可以做soho首页
  • 三门峡网站建设电话青岛网站推广公司
  • 洞口做网站找谁市场营销推广方案模板
  • 怎么做用来表白的网站湖人队最新消息
  • 新疆网站建设哪家好泉州网站seo外包公司
  • 网站开发前后端工具组合深圳推广公司推荐