/ / 题库 /

分油问题 能得到k就输出两行

分油问题 能得到k就输出两行

测试数据来自 wjszez/2080

【问题描述】
有三个容器,容量分别为 a,b,c(a > b> c ),一开始a装满油,问是否只靠abc三个容器量出k升油。如果能就输出“yes”,并且说明最少倒几次,否则输出“no”。
例如:10升油在10升的容器中,另有两个7升和3升的空容器,要求用这三个容器倒油,使得最后在abc三个容器中有一个刚好存有5升油,问最少的倒油次数是多少?
注意:每次倒油,A容器倒到B容器,要么A内的油倒完,要么B容器倒满。
10 7 3
(10 0 0)
(3 7 0):第一次
(3 4 3):第二次
(6 4 0):第三次
(6 1 3):第四次
(9 1 0):第五次
(9 0 1):第六次
(2 7 1):第七次
(2 5 3):第八次,出现5了。

【输入格式】
输入a,b,c, k四个正整数( 100> a > b > c > = 1 , 1 < = k < 100 )

【输出格式】
如果能得到k就输出两行
第一行“yes”,第二行为最少的次数,否则输出“no”

【输入样例】
10 7 3 5

【输出样例】
yes
8

信息

ID
2116
难度
(无)
分类
(无)
标签
递交数
0
已通过
0
通过率
?
上传者