问题2088--货币对换

2088: 货币对换

时间限制: 1 Sec  内存限制: 128 MB
提交: 35  解决: 6
[提交] [状态] [讨论版] [命题人:]

题目描述

 有几个货币兑换点,每个点只能兑换两种特定货币。可以有几个专门针对同一种货币的兑换点。每个兑换点都有自己的汇率,货币A到货币B的汇率是1A兑换B的数量。此外,每个交换点都有一些佣金,即必须为交换操作支付的金额。佣金始终以源货币收取。
例如,如果想在兑换点用100美元兑换俄罗斯卢布,而汇率为29.75,佣金为0.39,则将获得(100 - 0.39) X29.75=2963.3975RUR。
可以处理N 种不同的货币。货币编号为1~N 。对每个交换点都用6个数字来描述:整数A 和B (交换的货币类型) ,以及RAB 、CAB、RBA 和CBA (分别表示交换A 到B 和B 到A 时的汇率和佣金)。
尼克有一些货币S,并想知道他是否能在一些交易所操作之后增加他的资本。当然,他最终想要换回货币S。在进行操作时所有金额都必须是非负数。

输入

输入的第1行包含4个数字: N 表示货币类型的数量,M表示交换点的数量,S 表示尼克拥有的货币类型,V 表示他拥有的货币数量。以下M 行,每行都包含6个数字,表示相应交换点的描述。数字由一个或多个空格分隔。1≤S ≤N ≤100,1≤M ≤100,V 是实数,0≤V 103 。汇率和佣金在小数点后至多有两位,10-2 汇率102 ,0佣金≤102

输出

 如果尼克可以增加他的财富,则输出“YES”,在其他情况下输出“NO”。

样例输入 Copy

3 2 1 20.0
1 2 1.00 1.00 1.00 1.00
2 3 1.10 1.00 1.10 1.00

样例输出 Copy

YES