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

遂溪网站开发公司专业推广公司

遂溪网站开发公司,专业推广公司,flash xml网站模板,首码圈项目网题目详情#xff1a; 有了一张自驾旅游路线图#xff0c;你会知道城市间的高速公路长度、以及该公路要收取的过路费。现在需要你写一个程序#xff0c;帮助前来咨询的游客找一条出发地和目的地之间的最短路径。如果有若干条路径都是最短的#xff0c;那么需要输出最便宜的…题目详情 有了一张自驾旅游路线图你会知道城市间的高速公路长度、以及该公路要收取的过路费。现在需要你写一个程序帮助前来咨询的游客找一条出发地和目的地之间的最短路径。如果有若干条路径都是最短的那么需要输出最便宜的一条路径。 输入格式: 输入说明输入数据的第1行给出4个正整数N、M、S、D其中N2≤N≤500是城市的个数顺便假设城市的编号为0~(N−1)M是高速公路的条数S是出发地的城市编号D是目的地的城市编号。随后的M行中每行给出一条高速公路的信息分别是城市1、城市2、高速公路长度、收费额中间用空格分开数字均为整数且不超过500。输入保证解的存在。 输出格式: 在一行里输出路径的长度和收费总额数字间以空格分隔输出结尾不能有多余空格。 输入样例: 4 5 0 3 0 1 1 20 1 3 2 30 0 3 4 10 0 2 2 20 2 3 1 20输出样例: 3 40 主要思路 就是Dijkstra的变形 代码实现 #include stdio.h #include stdlib.h #define MAX_NODE_NUMS 505 #define NONE -1 #define INF 100000 #define TRUE 1 #define FALSE 0 typedef int bool; typedef struct MatrixGraphNode MatrixGraphNode; typedef MatrixGraphNode* MGraph; struct MatrixGraphNode {int VertexNums, EdgeNums;int Distance[MAX_NODE_NUMS][MAX_NODE_NUMS];int Fare[MAX_NODE_NUMS][MAX_NODE_NUMS]; }; MGraph CreateEmptyGraph(int vertexNums, int edgeNums) {MGraph graph (MGraph)malloc(sizeof(MatrixGraphNode));graph-VertexNums vertexNums;graph-EdgeNums edgeNums;for(int i 0; i vertexNums; i) {for(int j 0; j vertexNums; j) {if(i j) {graph-Distance[i][i] 0;graph-Fare[i][i] 0;}else {graph-Distance[i][j] INF;graph-Fare[i][j] INF;}}}return graph; } void InsertEdge(int start, int end, int distance, int fare, MGraph graph) {graph-Distance[start][end] distance; graph-Distance[end][start] distance;graph-Fare[start][end] fare; graph-Fare[end][start] fare;return; } MGraph BuildGraph(int vertexNums, int edgeNums) {MGraph graph CreateEmptyGraph(vertexNums, edgeNums);int start, end, distance, fare;for(int i 0; i edgeNums; i) {scanf(%d %d %d %d, start, end, distance, fare);InsertEdge(start, end, distance, fare, graph);}return graph; } int FindNearest(MGraph graph, int vis[], int start) {/*先找距离最近距离同样近找最省钱*/int ret NONE;int minDis INF;int minFare INF;for(int i 0; i graph-VertexNums; i) {if(i ! start vis[i] FALSE) {if(graph-Distance[start][i] minDis) {ret i;minDis graph-Distance[start][i];minFare graph-Fare[start][i];}else if(graph-Distance[start][i] minDis) {if(graph-Fare[start][i] graph-Fare[start][ret]) {ret i;minDis graph-Distance[start][i];minFare graph-Fare[start][i];}}}}return ret; } void Dijksta(MGraph graph, int start, int end) {int path[MAX_NODE_NUMS];int vis[MAX_NODE_NUMS];int dis[MAX_NODE_NUMS];int fare[MAX_NODE_NUMS];/*初始化*/for(int i 0; i graph-VertexNums; i) {vis[i] FALSE;if(i ! start) {if(graph-Distance[start][i] INF) {path[i] start;dis[i] graph-Distance[start][i];fare[i] graph-Fare[start][i];}else {path[i] NONE;dis[i] INF;fare[i] INF;}}}path[start] NONE;dis[start] 0;fare[start] 0;while(TRUE) {int nearest FindNearest(graph, vis, start);if(nearest NONE) {break;}vis[nearest] TRUE;for(int i 0; i graph-VertexNums; i) {if(i ! nearest vis[i] FALSE graph-Distance[nearest][i] INF) {if(graph-Distance[nearest][i] 0) {return;}else if(dis[nearest] graph-Distance[nearest][i] dis[i]) {path[i] nearest;dis[i] dis[nearest] graph-Distance[nearest][i];fare[i] fare[nearest] graph-Fare[nearest][i];}else if(dis[nearest] graph-Distance[nearest][i] dis[i]) {if(fare[nearest] graph-Fare[nearest][i] fare[i]) {path[i] nearest;fare[i] fare[nearest] graph-Fare[nearest][i];}}}} }printf(%d %d, dis[end], fare[end]); } int main() {int vertexNums, edgeNums, startPoint, endPoint;scanf(%d %d %d %d, vertexNums, edgeNums, startPoint, endPoint);MGraph graph BuildGraph(vertexNums, edgeNums);Dijksta(graph, startPoint, endPoint);free(graph);return 0; }
http://www.zqtcl.cn/news/397220/

相关文章:

  • 有关网站开发的创意四川工程造价信息网官网
  • 网站目录结构北京注册公司地址可以是住宅吗
  • 龙信建设集团网站傻瓜式建站软件下载
  • 在360做网站和百度做网站的区别什么是网站地址
  • 营销型的物流网站模板下载长江设计公司
  • 网站程序制作购买网站域名
  • 网站建设中html下载如何用社交网站开发客户
  • 开设购物网站的方案政务公开和网站建设情况
  • 一台云服务器做多个网站营销型网站的建设重点是什么
  • 泉港网站建设推广服务公司电子商务好就业吗
  • 自己做网站开发如何找客户wordpress 显示 子分类
  • 腾讯邮箱网页版登录宿迁seo公司
  • 网站建设找盖亚科技WordPress 百度 主动
  • 中国最受欢迎的网站杭州做电商网站
  • 百度招聘 网站开发全网营销实战培训
  • 备案网站内容说明广州哪个区封了
  • 大足建网站的软件开发者模式怎么打开
  • 中国有什么网站做跨境零售农商1号的网站建设费
  • 用宝塔给远程网站做备份购买一个网站需要多少钱
  • 百度蜘蛛不爬取网站做汽车新闻哪个网站好
  • 三维建设项目管理网站免费下载网站模板
  • 淘客联盟做任务网站页面设计所遵循的原则有哪些
  • 怎么建设收费网站行业网站建站
  • 织梦园模板网站自适应网站建设服务哪家好
  • 优秀专题网站恩施北京网站建设
  • 常用网站后缀企业网站用什么域名
  • 网站建设定制公众号小程序51ppt模板免费下载完整版免费ppt
  • 个人网站工商备案济南建网站app
  • 佛山网站建设公司哪家性价比高2018建设网站
  • 公司建一个网站建设工程教育网网址