博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【floyed】【HDU1217】【Arbitrage】
阅读量:6981 次
发布时间:2019-06-27

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

题目大意:

给你几种货币,以及几种汇率关系,问是否存在套利的可能?

思路:

初步想法:图上存在一个环的路径上权值相乘大于1....

再者:该如何找到图上所有环呢....

好吧 经过鸟神 和 况神的指点,,,这题就是一道floyed求最小环而已(权重取负)(虽然差不多,其实还是差挺远..)

对于乘法处理转换为ln...Orz一下鸟神

Floyed求最小环(后来才发现没关系)

一开始天真的以为.....只要求一遍Floyed 再判断一下F[i][i]就好,但要记住这个图是带负权值的....所以可能是走过几圈的........

(但其实这个题没有影响,只需要判断最终的结果是否小于0即可,多走几圈,依旧会小于0。。事实上也A了..)

#include 
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define oo 0x13131313using namespace std;const double e=2.718281828459;const int maxn=31;double F[maxn][maxn];map
money;int n,m; //number of pricevoid Clear(){ for(int i=0;i
>a; money[a]=i; } scanf("%d",&m); for(int i=1;i<=m;i++) { cin>>a>>c>>b; c=-log(c); F[money[a]][money[b]]=c; }}void init(){ freopen("a.in","r",stdin); freopen("a.out","w",stdout);}int main(){ // init(); int Case=0; while(cin>>n&&n) { Case++; printf("Case %d: ",Case); Clear(); input(); solve(); if(ans<0) printf("Yes\n"); else printf("No\n"); }}

即时这个题不需要。

但还是要搞懂怎么求最小环!!未完待续..。

带负权求不出

转载于:https://www.cnblogs.com/zy691357966/p/5480362.html

你可能感兴趣的文章
TYVJ 矩阵取数 Label:高精度+dp
查看>>
Google Code Jam 2014 Round 1 A:Problem C. Proper Shuffle
查看>>
YYHS-魏传之长坂逆袭(梦回三国系列T1)
查看>>
jquery 获取Select option 选择的Text和Value
查看>>
后海日记(8)
查看>>
百度云满速下载(转)
查看>>
HTML5学习之二:HTML5中的表单2
查看>>
CSS盒模型及边距问题
查看>>
UVa 167(八皇后)、POJ2258 The Settlers of Catan——记两个简单回溯搜索
查看>>
AlexNet 网络详解及Tensorflow实现源码
查看>>
day07 -文件的基本操作
查看>>
关于BIO | NIO | AIO的讨论
查看>>
linux 重命名文件和文件夹
查看>>
java基础回顾
查看>>
Java语法基础-序列化
查看>>
docker 安装 RabbitMQ
查看>>
阿里巴巴开源技术汇总:115个软件(一)
查看>>
ios开发之系统信息
查看>>
遮罩效果的实现
查看>>
Android之NDK开发的简单实例
查看>>