logo AlgoBeat OnlineJudge
登录 注册

#214023. [蓝桥杯青少年组国赛 2025] 第五题

内存限制:512 MiB 时间限制:1000 ms 标准输入输出
题目类型:VJudge(洛谷) 评测方式:VJudge
上传者: 匿名

题目描述

洛谷的试题为民间回忆版,仅保证题意相同。试题呈现形式、样例、数据范围可能存在差异。


给定三个牛奶桶 A、B、C,其容积分别为 。初始状态下,三个桶中的牛奶量分别为

你可以在任意两个桶之间进行“倾倒操作”。例如,从桶 S(源桶)向桶 D(目标桶)倒牛奶,规则如下:

  1. 如果 S 中的牛奶量大于或等于 D 桶剩余的容量,则将 D 倒满,S 中将剩下多余的牛奶。
  2. 如果 S 中的牛奶量小于 D 桶剩余的容量,则将 S 中的牛奶全部倒入 D。

注意:题目不允许从外部补充牛奶,也不允许把不想要的牛奶倒掉不要。

你的任务是计算出,要使 A、B、C 其中任意一个桶的牛奶量恰好为 ,所需要的最少倾倒操作次数。

输入格式

输入一行,包含三个正整数 ,分别代表三个桶的容积。

输出格式

输出一个整数。如果能够通过若干次操作达成目标,输出最少的操作次数;否则,输出

样例

样例输入 1

8 5 3

样例输出 1

6

数据范围与提示

样例解释

初始状态为 ,目标是让任意一个桶的牛奶量达到 升。

一种可行的最少步骤方案如下(括号内数字分别代表 桶的牛奶量):

  1. 从 A 倒向 B
  2. 从 B 倒向 C
  3. 从 C 倒向 A
  4. 从 B 倒向 C
  5. 从 A 倒向 B
  6. 从 B 倒向 C

经过 次操作,B 桶中有了 升牛奶,达成目标。这是最少的操作次数。

数据范围与约定

对于 100% 的数据,满足: