最新公告
  • 欢迎您光临信息学奥赛网,一个优质的信息学编程题库和信息学编程学习资源专业网站。欢迎加入VIP
  • 非常可乐

    正文概述 陈老师   2026-01-20 15:31:55  

    题目背景

    大家一定觉得运动以后喝可乐是一件很惬意的事情,但是seeyou却不这么认为。因为每次当seeyou买了可乐以后,阿牛就要求和seeyou一起分享这一瓶可乐,而且一定要喝的和seeyou一样多。但seeyou的手中只有两个杯子,它们的容量分别是N 毫升和M 毫升 可乐的体积为S (S<101)毫升 (正好装满一瓶) ,它们三个之间可以相互倒可乐 (都是没有刻度的,且 S==N+M,101>S>0,N>0,M>0) 。聪明的你说他们能平分吗?如果能请输出倒可乐的最少的次数,如果不能输出"NO"。

    输入格式

    三个整数 : S 可乐的体积 , N 和 M是两个杯子的容量,以"0 0 0"结束。

    输出格式

    如果能平分的话请输出最少要倒的次数,否则输出"NO"。

    样例

    7 4 3
    4 1 3
    0 0 0
    
    NO
    3
    

    样例解释

    对于样例一容易证明无解

    对于样例二,次数为3的可行方法有:

    (S -> N表示可乐倒入容量为N的那个杯子),括号里的三个数字表示当前各个杯子和可乐的当前含量

    • S -> M(1 0 3)
    • M -> N(1 1 2)
    • N -> S (2 0 2)

    数据范围与约定

    • 1S100 1 \leq S \leq 100
    • 1N,M 1 \leq N,M
    • N+M=SN+M = S
    信息学奥赛网,一个优质的信息学奥赛学习资源平台!
    信息学奥赛网 » 非常可乐