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

泰州网站建设公司哪家好中国招标投标服务平台官网

泰州网站建设公司哪家好,中国招标投标服务平台官网,wordpress加个微信登录,企业所得税怎么算一般纳税人题意 给出经济路线以及商业路线,在给出起始点s,终止点e,在只能使用其中一个商业路线 的情况下输出最短路径 思路 如果选择商业路线为从u到v,则需要从s->u,u->v,v->e点的路径最短。使用Dijkstra计算出从s点…

题意

给出经济路线以及商业路线,在给出起始点s,终止点e,在只能使用其中一个商业路线 的情况下输出最短路径

思路

如果选择商业路线为从u到v,则需要从s->u,u->v,v->e点的路径最短。使用Dijkstra计算出从s点到其它各点,以及从e点到其它各点的最短路径,然后遍历商业路线u,v,选取从s->u,u->v,v->e点中路线最短的

代码

#include <bits/stdc++.h>using namespace std;#define _for(i, a, b) for(int i = (a); i < (b); i++)
#define _rep(i, a, b) for (int i = (a); i <= (b); i++)struct Edge
{int u, v, d;
};struct HeapNode
{int u, d;bool operator<(const HeapNode& other) const{return d > other.d;}
};template <int SZV, int INF>
struct Dijkstra
{int n;vector<Edge> edges;vector<int> graph[SZV];bool done[SZV];int d[SZV], p[SZV];void init(int n){this->n = n;edges.clear();_for(i, 0, n) {graph[i].clear();}}void addEdge(int u, int v, int d){graph[u].push_back(edges.size());edges.push_back({u, v, d});}void dijkstra(int s){priority_queue<HeapNode> pq;fill_n(done, n, false);fill_n(d, n, INF);d[s] = 0;pq.push({s, 0});while (!pq.empty()) {HeapNode curNode = pq.top();pq.pop();int u = curNode.u;if (done[u]) {continue;}done[u] = true;_for(i, 0, graph[u].size()) {const auto& edge = edges[graph[u][i]];int v = edge.v;if (d[u] + edge.d < d[v]) {d[v] = d[u] + edge.d;p[v] = graph[u][i];pq.push({v, d[v]});}}}}void getPath(int s, int e, deque<int>& path, bool rev = false){int x = e;if (rev) {path.push_back(x);} else {path.push_front(x);}while (x != s) {x = edges[p[x]].u;if (rev) {path.push_back(x);} else {path.push_front(x);}}}
};void fastio()
{ios_base::sync_with_stdio(false);cin.tie(nullptr);cout.tie(nullptr);
}const int MAXN = 500 + 4;
const int INF = 1e9;int main()
{fastio();#ifndef ONLINE_JUDGEifstream fin("f:\\OJ\\uva_in.txt");streambuf* back = cin.rdbuf(fin.rdbuf());#endifint N, S, E;int kase = 0;while (cin >> N >> S >> E) {if (kase++) {cout << endl;}Dijkstra<MAXN, INF> sd, ed;sd.init(N + 1); ed.init(N + 1);int M;cin >> M;_for(i, 0, M) {int X, Y, Z;cin >> X >> Y >> Z;sd.addEdge(X, Y, Z);sd.addEdge(Y, X, Z);ed.addEdge(X, Y, Z);ed.addEdge(Y, X, Z);}sd.dijkstra(S);ed.dijkstra(E);int cu = -1;int ans = INF;deque<int> path;if (sd.d[E] < ans) {ans = sd.d[E];sd.getPath(S, E, path);}auto update = [&](int u, int v, int d) {if (sd.d[u] < ans && ed.d[v] < ans && sd.d[u] + d + ed.d[v] < ans) {ans = sd.d[u] + d + ed.d[v];cu = u;path.clear();sd.getPath(S, u, path);ed.getPath(E, v, path, true);}};int K;cin >> K;_for(i, 0, K) {int u, v, d;cin >> u >> v >> d;update(u, v, d);update(v, u, d);}_for(i, 0, path.size()) {if (i) {cout << " ";}cout << path[i];}cout << endl;if (cu == -1) {cout << "Ticket Not Used" << endl;} else {cout << cu << endl;}cout << ans << endl;}#ifndef ONLINE_JUDGEcin.rdbuf(back);#endifreturn 0;
}
http://www.yayakq.cn/news/994836/

相关文章:

  • 手机网站推广怎么做网站设计协议
  • 河北保定网站建设我认为的网络营销是什么
  • html网站地图在线生成360网站提交入口地址
  • 什么叫域名访问网站大数据网站
  • 模板演示网站oa办公系统管理软件
  • p2p网站建设要点怎么做网络平台
  • 湘潭网站建设 沟通磐石网络郑州新闻联播
  • 怎样建设淘宝网站发优惠券网站怎么做
  • 钦州市建设网站怎么制作网页里面的内容
  • 女朋友做网站asp网站转wap网站
  • 织梦电子行业网站模板企业咨询公司名称大全
  • 做外贸密封件的网站app营销十大成功案例
  • 房地产企业网站开发用Off做网站
  • 旅游电子商务网站的建设apmserv访问本地网站
  • 郑州大型网站制作wordpress 组织架构
  • 网站建设需要注意什么 知乎软件开发具体工作内容
  • 网站专题制作原则工作招聘58同城
  • 网站建设联盟wordpress 删除 分类存档
  • 石家庄制作网站软件做网站内容
  • 昆明建设招聘信息网站项目设计说明书模板
  • 网站开发基础课程抖音seo关键词优化怎么做
  • 普兰店网站建设公司广告行业怎么找客户
  • 阜城县网站建设公司网站空间500m是什么
  • 做淘宝推广开网站合适seo优化与sem推广有什么关系
  • 微网站如何建立广告平台投放
  • 成都网站建设有限公司办公空间设计图片
  • 免费的网站推荐下载淘宝上网站开发
  • 帮彩票网站做流量提升怎么判断一个网站是否使用帝国做的
  • 哪里学做网站涞水县建设局网站
  • 中学网上做试卷的网站高端企业网站建设服务商