{"problem":{"name":"[蓝桥杯青少年组国赛 2025] 第五题","description":{"content":"给定三个牛奶桶 A、B、C，其容积分别为 $v, x, y$。初始状态下，三个桶中的牛奶量分别为 $(v, 0, 0)$。 你可以在任意两个桶之间进行“倾倒操作”。例如，从桶 S（源桶）向桶 D（目标桶）倒牛奶，规则如下： 1.  如果 S 中的牛奶量**大于或等于** D 桶剩余的容量，则将 D 倒满，S 中将剩下多余的牛奶。 2.  如果 S 中的牛奶量**小于** D 桶剩余的容量，则将 ","description_type":"Markdown"},"platform":"Luogu","limit":{"time_limit":1000,"memory_limit":524288},"difficulty":{"LuoguStyle":"P3"},"is_remote":true,"is_sync":true,"sync_url":null,"sign":"LGB4400"},"statements":[{"statement_type":"Markdown","content":"给定三个牛奶桶 A、B、C，其容积分别为 $v, x, y$。初始状态下，三个桶中的牛奶量分别为 $(v, 0, 0)$。\n\n你可以在任意两个桶之间进行“倾倒操作”。例如，从桶 S（源桶）向桶 D（目标桶）倒牛奶，规则如下：\n1.  如果 S 中的牛奶量**大于或等于** D 桶剩余的容量，则将 D 倒满，S 中将剩下多余的牛奶。\n2.  如果 S 中的牛奶量**小于** D 桶剩余的容量，则将 S 中的牛奶**全部**倒入 D。\n\n注意：题目不允许从外部补充牛奶，也不允许把不想要的牛奶倒掉不要。\n\n你的任务是计算出，要使 A、B、C 其中任意一个桶的牛奶量恰好为 $\\dfrac{v}{2}$，所需要的最少倾倒操作次数。\n\n## Input\n\n输入一行，包含三个正整数 $v, x, y$，分别代表三个桶的容积。\n\n## Output\n\n输出一个整数。如果能够通过若干次操作达成目标，输出最少的操作次数；否则，输出 $-1$。\n\n[samples]\n\n## Background\n\n洛谷的试题为民间回忆版，仅保证题意相同。试题呈现形式、样例、数据范围可能存在差异。\n\n## Note\n\n### 样例解释\n\n初始状态为 $(8, 0, 0)$，目标是让任意一个桶的牛奶量达到 $8/2 = 4$ 升。\n\n一种可行的最少步骤方案如下（括号内数字分别代表 $A, B, C$ 桶的牛奶量）：\n\n1.  $(8, 0, 0) \\to$  从 A 倒向 B $\\to (3, 5, 0)$\n2.  $(3, 5, 0) \\to$  从 B 倒向 C $\\to (3, 2, 3)$\n3.  $(3, 2, 3) \\to$  从 C 倒向 A $\\to (6, 2, 0)$\n4.  $(6, 2, 0) \\to$  从 B 倒向 C $\\to (6, 0, 2)$\n5.  $(6, 0, 2) \\to$  从 A 倒向 B $\\to (1, 5, 2)$\n6.  $(1, 5, 2) \\to$  从 B 倒向 C $\\to (1, 4, 3)$\n\n经过 $6$ 次操作，B 桶中有了 $4$ 升牛奶，达成目标。这是最少的操作次数。\n\n### 数据范围与约定\n\n对于 100% 的数据，满足：$1 \\le v, x, y \\le 200$；","is_translate":false,"language":"English"}],"meta":{"iden":"LGB4400","tags":["2025","广度优先搜索 BFS","蓝桥杯青少年组"],"sample_group":[["8 5 3","6"]],"created_at":"2026-03-03 11:09:25"}}