魔法

来源:互联网 发布:三国杀手游源码 编辑:程序博客网 时间:2024/03/29 04:34
题目详情

你拥有3种魔法,可以用第一种魔法把 a 克的沙子变成 b 克金属,可以用第二种魔法把 c 克金属变成 d 克金子,可以用第三种魔法把 e 克金子变成 f 克沙子。

问你能否用初始有限量的沙子、金属、金子得到无限多的金子?

输入格式:

多组数据,每组只有一行包含输入6个整数 a,b,c,d,e,f

(0<=a,b,c,d,e,f<=1000)

输出格式:

每组输出一行,YES和NO表示能否得到无限多的金子。



答题说明

输入样例

100 200 250 150 200 250

100 50 50 200 200 100

1 1 0 1 1 1

100 1 100 1 0 1

输出样例:

YES

NO

YES

YES


思路: 我们可以把a到b,c到d, e到f看成3个转换,通过ace个沙子刚好一个不剩的得到bdf个金子,所以只需要

判断bdf是否大于ace。我刚开始就是这么想的。结果无限错。最后在网上看了一下别人的解法,恍然大悟。原来

我考虑的是3个转换都参与了的情况(相信很多其它同学也是的吧,呵呵),有可能e到f这个转换或者

其它的不需要参与,也就是说,有可能只需要a到b,c到d这两个转换或者只需要c到d这个转换就能得到无限

多个金子。


代码如下:


0 0