博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu 1217 Arbitrage (最小生成树)
阅读量:5889 次
发布时间:2019-06-19

本文共 1226 字,大约阅读时间需要 4 分钟。

题目:

/************************************************************************//*             hdu  Arbitrage        floyd求最短路径        题目大意:floyd算法,求得两点之间最短距离,(u,v) = min( (u,v),(u,w)+(w,v) );     此题,是求其能够赚钱,即最大生成树,且过程是相乘的,公式:( u, v) = max( (u,v), (u,w)*(w,v) );*//************************************************************************/#include 
#include
#include
#include
#include
#include
using namespace std;#define MIN(a,b) a
hash_map;void build_map(){ char name[20],name1[20]; double rate; int m; for (int i = 1; i <= num; i++) { scanf("%s",name); hash_map[name] = i; } memset(maps,0,sizeof(maps)); scanf("%d",&m); for (int i = 0; i < m; i++) { scanf("%s%lf%s",name,&rate,name1); maps[hash_map[name]][hash_map[name1]] = rate; }}void fload(){ for (int k = 1; k <= num; k++) { for (int i = 1; i <= num; i++) for (int j = 1; j <= num; j++) maps[i][j] = max(maps[i][j],maps[i][k] * maps[k][j]); } int j; for (j = 1; j <= num; j++) if (maps[j][j] > 1)break; if (j>num)printf("Case %d: No\n",key); else printf("Case %d: Yes\n",key); hash_map.clear();}int main(){ key = 0; while(scanf("%d",&num) && num != 0 ) { key++; build_map(); fload(); } return 0;}

 

转载地址:http://ctysx.baihongyu.com/

你可能感兴趣的文章
Mysql-mmm高可用方案安装及配置
查看>>
【狂人小白】MyBatis.001 学习巴提斯!
查看>>
全面解析C#中参数传递
查看>>
修改注册表防止SYN淹没式攻击
查看>>
WinForm窗体缩放动画
查看>>
Memcached 安装及启动脚本
查看>>
《精通VMware vSphere 6》——第2章 规划与安装 VMware ESXi 2.1规划VMware vSphere部署...
查看>>
如何安装体验 Ubuntu on Windows
查看>>
《移动App测试的22条军规》——军规5 关注用户体验
查看>>
《编程珠玑(第2版•修订版)》—第1章1.1节一次友好的对话
查看>>
《 营销数据科学: 用R和Python进行预测分析的建模技术》——第3章 锁定目标客户...
查看>>
JQuery入门(2)
查看>>
[小白技巧]在Ubuntu 14.04中,如何从Unity启动器上移除盘符图标
查看>>
POI导出JavaWeb中的table到excel下载
查看>>
只有数据分析师才能看懂的十大吐槽
查看>>
《无人机DIY》——4 制作四轴直升机I:选择 机身 
查看>>
《单页Web应用:JavaScript从前端到后端》——1.3 精心编写的单页应用的用户效益...
查看>>
记录一些React的一些细节,会不断更新
查看>>
自己常用的mixin(持续更新)
查看>>
[译] 移动技术在改善财务健康方面的作用
查看>>