1344:【例4-4】最小花费

Dijkstra

(1)a [ i ] [ j ] 存转账率(。。转后所得率。。)

(2)dis [ i ] 也就是 a [ 起点 ] [ i ]

(3)f [ i ] 判断是否已经拓展过

(4)前驱结点 k

PS:ans * a[x][y]=100

即 ans=100 / a[x][y]

代码:

  1. #include<iostream>
  2. #include<algorithm>
  3. #include<cstdio>
  4. #include<cstring>
  5. #include<cmath>
  6. #include<cstdlib>
  7. using namespace std;
  8. double a[][],dis[],minn;
  9. int f[],n,m,k,x,y;
  10. void read()
  11. {
  12. int xx,yy,zz;
  13. scanf("%d%d",&n,&m);
  14. for(int i=;i<=m;i++)
  15. {
  16. scanf("%d%d",&xx,&yy);
  17. scanf("%lf",&a[xx][yy]);
  18. a[xx][yy]=(-a[xx][yy])/;
  19. a[yy][xx]=a[xx][yy];
  20. }
  21. cin>>x>>y;
  22. }
  23. void dijkstra(int x)
  24. {
  25. for(int i=;i<=n;i++)
  26. dis[i]=a[x][i];
  27. dis[x]=;
  28. f[x]=;
  29. for(int i=;i<=n-;i++)
  30. {
  31. minn=;
  32. for(int j=;j<=n;j++)
  33. if(f[j]==&&dis[j]>minn)
  34. {
  35. k=j;
  36. minn=dis[j];
  37. }
  38. f[k]=;
  39. if(k==y) break;
  40. for(int j=;j<=n;j++)
  41. if(f[j]==&&dis[k]*a[k][j]>dis[j])
  42. dis[j]=dis[k]*a[k][j];
  43. }
  44. }
  45. int main()
  46. {
  47. read();
  48. dijkstra(x);
  49. printf("%.8lf",/dis[y]);
  50. return ;
  51.  
  52. }

1344:【例4-4】最小花费 dijkstra的更多相关文章

  1. 洛谷P1576||最小花费||dijkstra||双向建边!!

    题目描述 在n个人中,某些人的银行账号之间可以互相转账.这些人之间转账的手续费各不相同.给定这些人之间转账时需要从转账金额里扣除百分之几的手续费,请问A最少需要多少钱使得转账后B收到100元. 数据范 ...

  2. 第四届CCF软件能力认证(CSP2015) 第五题(最小花费)题解

    [问题描述] C国共有$n$个城市.有$n-1$条双向道路,每条道路连接两个城市,任意两个城市之间能互相到达.小R来到C国旅行,他共规划了$m$条旅行的路线, 第$i$条旅行路线的起点是$s_i$,终 ...

  3. 九度OJ 1086 最小花费--动态规划

    题目地址:http://ac.jobdu.com/problem.php?pid=1086 题目描述: 在某条线路上有N个火车站,有三种距离的路程,L1,L2,L3,对应的价格为C1,C2,C3.其对 ...

  4. ccf 201503-5 最小花费 这题交上去只有10分嗨!求大佬的题解啊

    问题描述 C国共有n个城市.有n-1条双向道路,每条道路连接两个城市,任意两个城市之间能互相到达.小R来到C国旅行,他共规划了m条旅行的路线,第i条旅行路线的起点是si,终点是ti.在旅行过程中,小R ...

  5. PTA 7-1 畅通工程之局部最小花费问题(35 分)

    7-1 畅通工程之局部最小花费问题(35 分) 某地区经过对城镇交通状况的调查,得到现有城镇间快速道路的统计数据,并提出“畅通工程”的目标:使整个地区任何两个城镇间都可以实现快速交通(但不一定有直接的 ...

  6. 九度OJ 1086:最小花费 (DP)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:3960 解决:819 题目描述: 在某条线路上有N个火车站,有三种距离的路程,L1,L2,L3,对应的价格为C1,C2,C3.其对应关系如下 ...

  7. 九度oj 题目1086:最小花费

    题目描述: 在某条线路上有N个火车站,有三种距离的路程,L1,L2,L3,对应的价格为C1,C2,C3.其对应关系如下: 距离s           票价 0<S<=L1         ...

  8. 洛谷—— P1576 最小花费

    P1576 最小花费 题目背景 题目描述 在n个人中,某些人的银行账号之间可以互相转账.这些人之间转账的手续费各不相同.给定这些人之间转账时需要从转账金额里扣除百分之几的手续费,请问A最少需要多少钱使 ...

  9. PTA 7-2 畅通工程之局部最小花费问题 (35分)

    PTA 7-2 畅通工程之局部最小花费问题 (35分) 某地区经过对城镇交通状况的调查,得到现有城镇间快速道路的统计数据,并提出"畅通工程"的目标:使整个地区任何两个城镇间都可以实 ...

随机推荐

  1. DTcms 模版用vs2015或2017 打开编辑时候 粘贴出问题 代码被调整

    因为模版语言不是标准的HTML格式 ,所以HTML粘帖的时候会格式化 导致原标签出问题,这里修改下就可以了

  2. 20175320 2018-2019-2 《Java程序设计》第7周学习总结

    20175320 2018-2019-2 <Java程序设计>第7周学习总结 教材学习内容总结 本周学习了教材的第八章的内容,在这章中介绍了常用的实用类,着重讲了如何利用String类.S ...

  3. .NET Core开发日志——GraphQL

    GraphQL是什么 GraphQL既是一种用于API的查询语言也是一种通过使用对应数据的类型系统,执行数据查询的服务端运行时.GraphQL没有局限于任何数据库或存储引擎,而是通过既有代码及数据获得 ...

  4. 博客搬家 https://hanwang945.github.io/

    博客搬家 https://hanwang945.github.io/

  5. mysql本地安装

    1.下载地址: https://downloads.mysql.com/archives/community/ 2.安装: 解压目录:D:\mysql\mysql-5.6.36-winx64 2.1. ...

  6. Springboot 学习教程(一):版本+ jdk 版本 + Maven 版本的匹配

    Spring boot 版本 Spring Framework jdk 版本 maven 版本 1.2.0 版本之前   6 3.0 1.2.0 4.1.3+ 6 3.2+ 1.2.1 4.1.3+ ...

  7. centos7的systemd命令对比

    centos7的systemd命令对比 http://www.linuxidc.com/Linux/2014-09/106490p2.htmhttp://www.linuxidc.com/Linux/ ...

  8. 【MySQL】sort by then group by

    tb: ### 需求:根据id进行分组,找到分组内hour中最大的一项 错误写法: select id, max(hour) from tb group by id; 正确的写法: ### 需求:根据 ...

  9. 【LeetCode每天一题】Simplify Path(简化路径)

    Given an absolute path for a file (Unix-style), simplify it. Or in other words, convert it to the ca ...

  10. iOS 控制器的生命周期(UIController)

    前言: 在iOS开发中,控制器的生命周期非常重要,什么时候加载页面,什么时候请求接口,什么时候刷新界面等等,都有很多值得优化的地方 loadView: 最先执行的方法,控制器关联的有Nib文件的时候, ...