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

网站建设规划书范文5000字中国app开发公司排名

网站建设规划书范文5000字,中国app开发公司排名,合二为一的创意产品设计,济南网站排名优化报价题目描述 有n个城市m条道路&#xff08;n<1000, m<10000)&#xff0c;每条道路有个长度&#xff0c;请找到从起点s到终点t的最短距离和经过的城市名。 输入 输入包含多组测试数据。 每组第一行输入四个数&#xff0c;分别为n&#xff0c;m&#xff0c;s&#xff0c;t…
题目描述

有n个城市m条道路(n<1000, m<10000),每条道路有个长度,请找到从起点s到终点t的最短距离和经过的城市名。

输入

输入包含多组测试数据。

每组第一行输入四个数,分别为n,m,s,t。

接下来m行,每行三个数,分别为两个城市名和距离。

输出

每组输出占两行。

第一行输出起点到终点的最短距离。

第二行输出最短路径上经过的城市名,如果有多条最短路径,输出字典序最小的那条。若不存在从起点到终点的路径,则输出“can't arrive”。

样例输入
3 3 1 3
1 3 3
1 2 1
2 3 1
样例输出
2
1 2 3

分析:《算法笔记》上的 dijkstra + DFS 模板题。注意这道题给出的数据里,两点之间有多条边, 之后输入的边会覆盖前面的,每次读入边的时候要比较是否是最短的边。如果用邻接表,因为会把每条边都存,就不会有覆盖的情况。

#include<algorithm>
#include <iostream>
#include  <cstdlib>
#include  <cstring>
#include   <string>
#include   <vector>
#include   <cstdio>
#include    <queue>
#include    <stack>
#include    <ctime>
#include    <cmath>
#include      <map>
#include      <set>
#define INF 0x3fffffff
#define db1(x) cout<<#x<<"="<<(x)<<endl
#define db2(x,y) cout<<#x<<"="<<(x)<<", "<<#y<<"="<<(y)<<endl
#define db3(x,y,z) cout<<#x<<"="<<(x)<<", "<<#y<<"="<<(y)<<", "<<#z<<"="<<(z)<<endl
#define db4(x,y,z,r) cout<<#x<<"="<<(x)<<", "<<#y<<"="<<(y)<<", "<<#z<<"="<<(z)<<", "<<#r<<"="<<(r)<<endl
#define db5(x,y,z,r,w) cout<<#x<<"="<<(x)<<", "<<#y<<"="<<(y)<<", "<<#z<<"="<<(z)<<", "<<#r<<"="<<(r)<<", "<<#w<<"="<<(w)<<endl
using namespace std;int graph[1001][1001];void dijkstra(int n,int s,int t,int d[],vector<int>pre[])
{bool vis[n+5]={0};d[s]=0;for(int times=0;times<n;++times){int u=-1,mini=INF;for(int i=0;i<=n;++i){if(!vis[i]&&d[i]<mini)u=i,mini=d[i];}if(u==-1)return;vis[u]=1;for(int i=0;i<=n;++i){if(!vis[i]&&graph[u][i]!=INF){if(d[i]>d[u]+graph[u][i]){d[i]=d[u]+graph[u][i];pre[i].clear();pre[i].push_back(u);}else if(d[i]==d[u]+graph[u][i]){pre[i].push_back(u);}}}}
}
//用一个vector存储路径经过的点序列,保留字典序最小的
void dfs(vector<int>pre[],int s,int t,vector<int>&ans,vector<int>temp)
{temp.push_back(t);if(t==s){vector<int>rev;for(int i=temp.size()-1;i>=0;--i){rev.push_back(temp[i]);}if(ans.empty()||rev<ans)ans=rev;return;}for(int i=0;i<pre[t].size();++i){dfs(pre,s,pre[t][i],ans,temp);}
}int main(void)
{#ifdef testfreopen("in.txt","r",stdin);
//    freopen("out.txt","w",stdout);clock_t start=clock();#endif //testint n,m,s,t;while(~scanf("%d%d%d%d",&n,&m,&s,&t)){int d[n+5]={0};vector<int>pre[n+5];for(int i=0;i<=n;++i){d[i]=INF;for(int j=0;j<=n;++j)graph[i][j]=INF;}for(int i=0;i<m;++i){int a,b,c;scanf("%d%d%d",&a,&b,&c);if(graph[a][b]>c)graph[a][b]=graph[b][a]=c;}dijkstra(n,s,t,d,pre);if(d[t]==INF)printf("can't arrive\n");else{printf("%d\n",d[t]);vector<int>ans,temp;dfs(pre,s,t,ans,temp);for(int i=0;i<ans.size();++i)printf("%d ",ans[i]);printf("\n");}}#ifdef testclockid_t end=clock();double endtime=(double)(end-start)/CLOCKS_PER_SEC;printf("\n\n\n\n\n");cout<<"Total time:"<<endtime<<"s"<<endl;        //s为单位cout<<"Total time:"<<endtime*1000<<"ms"<<endl;    //ms为单位#endif //testreturn 0;
}


文章转载自:

http://fKchpNGD.rdnkx.cn
http://ZVCzbV86.rdnkx.cn
http://5LqarUTt.rdnkx.cn
http://LT2H4vPK.rdnkx.cn
http://X2FRQRFF.rdnkx.cn
http://F8jVkgIK.rdnkx.cn
http://NMgULBc4.rdnkx.cn
http://weLhwDB0.rdnkx.cn
http://GamUjZNE.rdnkx.cn
http://3HY61pPJ.rdnkx.cn
http://JGe1wShX.rdnkx.cn
http://Dw04frIa.rdnkx.cn
http://wxnVCAvk.rdnkx.cn
http://QaM317yc.rdnkx.cn
http://tPVIkDID.rdnkx.cn
http://PNnXve4z.rdnkx.cn
http://bWAXwEWM.rdnkx.cn
http://RlD4BMiP.rdnkx.cn
http://xZBnXZSK.rdnkx.cn
http://uxqtYh4P.rdnkx.cn
http://aTxNSxM2.rdnkx.cn
http://Sfo3d9KP.rdnkx.cn
http://47LSf9V6.rdnkx.cn
http://GA7aTmoa.rdnkx.cn
http://oKqIuVgS.rdnkx.cn
http://m6gXFyjS.rdnkx.cn
http://TJ0UnAIv.rdnkx.cn
http://wg3CBHLz.rdnkx.cn
http://sQUZybim.rdnkx.cn
http://3pLu56AM.rdnkx.cn
http://www.dtcms.com/wzjs/736180.html

相关文章:

  • 中建国际建设有限公司官网是央企吗重庆网站优化公司怎么样
  • 用网页采集个人信息网站怎么做商贸公司起名大全最新
  • 网站内页的设计怎么用ps切片在dw里做网站
  • 达浒镇网站建设公司可视化拖拽网站建设软件
  • 网站左侧漂浮导航app主题WordPress
  • 天猫优惠卷怎么做网站佛山智家人网站
  • 专业南京网站建设数控编程培训
  • 广东官方网站建设中国体育新闻最新消息
  • 烟台专业网站制作公司南京广告公司
  • 做网站和app哪个难移动互联网开发的特点
  • 平湖市网站建设php做网站 价格
  • 深圳宝安医院的网站建设网站服务器提供什么服务
  • 银川市住房和城乡建设网站外贸网站制作推广公司
  • 商城网站策划方案爬知乎文章做网站
  • 怎么制作免费的企业网站网站搭建协议
  • 程序员自己做网站怎么赚钱昆明网站建设8888168
  • 我爱做衣服网站做网站温州
  • 建设企业网站方案营销推广活动策划方案大全
  • 广州一起做网店网站报个电脑培训班多少钱
  • 网站浏览器兼容性问题吗建设书法网站的主题是
  • 做网站后台需要学什么哪些网站可以做宣传
  • 李氏牛仔网站建设风网站树状型结构优化
  • 网站维护外包合同租车网站建设方案
  • 网站的空间需要续费么厦门网站推广费用
  • 文山专业网站建设联系电话服务信誉好的外贸管理软件
  • wordpress可以建什么站h5制作
  • asp.net 网站开发教程洛可可设计公司市值
  • 徐州做网站的免费字体设计
  • html5网站图标宣传 网站建设方案
  • 如何用Python网站开发vps网站压缩