当前位置: 首页 > news >正文

UVa 571 Jugs

题目描述

题目要求解决水壶问题。给定两个容量分别为CaC_aCaCbC_bCb的水壶(Ca≤CbC_a \le C_bCaCb),以及目标水量NNNN≤CbN \le C_bNCb)。允许操作:

  • fill A:将AAA壶装满
  • fill B:将BBB壶装满
  • empty A:倒空AAA
  • empty B:倒空BBB
  • pour A B:将AAA壶中的水倒入BBB壶,直到AAA空或BBB
  • pour B A:将BBB壶中的水倒入AAA壶,直到BBB空或AAA
  • success:表示目标达成

需要输出一系列操作步骤,使得最终BBB壶中有恰好NNN加仑水。输入保证有解。

输入格式

输入包含多行,每行三个正整数CaC_aCaCbC_bCbNNN,以文件结束符(EOF\texttt{EOF}EOF)终止。

输出格式

对于每个测试用例,输出一系列操作,每行一个,最后一行是success

样例

输入

3 5 4 5 7 3

输出

fill B pour B A empty A pour B A success fill B pour B A empty A pour B A success

题目分析

本题的核心是使用BFS\texttt{BFS}BFS或经典数学方法求解。由于CaC_aCaCbC_bCb互质,可以通过不断将AAA壶的水倒入BBB壶来得到所有余数。

算法

  • 循环执行以下步骤直到BBB壶中有NNN加仑:
    1. BBB已满,清空BBB
    2. AAA为空,装满AAA
    3. AAA倒入BBB
  • 输出相应操作。

正确性

由于CaC_aCaCbC_bCb互质,通过重复将AAA倒入BBB,可以生成所有模CbC_bCb的余数。

复杂度分析

每个操作O(1)O(1)O(1),最多O(Cb)O(C_b)O(Cb)步。

代码实现

// Jugs// UVa ID: 571// Verdict: Accepted// Submission Date: 2016-09-02// UVa Run Time: 0.000s//// 版权所有(C)2016,邱秋。metaphysis # yeah dot net#include<bits/stdc++.h>usingnamespacestd;intmain(){cin.tie(0);cout.tie(0);ios::sync_with_stdio(false);intCa,Cb,N;while(cin>>Ca>>Cb>>N){intA=0,B=0;while(true){if(B==Cb){cout<<"empty B\n";B=0;}if(A==0){cout<<"fill A\n";A=Ca;}if(A==N){cout<<"success\n";break;}cout<<"pour A B\n";B+=A;if(B>Cb){A=B-Cb;B=Cb;}elseA=0;if(A==N||B==N){cout<<"success\n";break;}}}return0;}
http://www.jsqmd.com/news/1070570/

相关文章:

  • NS-USBLoader终极指南:快速搞定Switch游戏安装与系统注入的4个关键步骤
  • Claude Code + Kimi Code 配置指南
  • SMUDebugTool终极指南:免费开源AMD Ryzen处理器调试工具完全教程
  • Kimi LeetCode 3348. 最小可整除数位乘积 II Rust实现
  • 开源版Figma:Penpot,设计协同+代码生成,全栈设计平台
  • 4.5 呈现AI分析结果、报告与用户反馈接口
  • 【从0到1构建一个ClaudeAgent】并
  • 2026年版牙科修复材料行业投资分析及前景趋势预测报告
  • LangChain框架在高炉炼铁智能化领域的应用~系列文章15:性能优化与部署 — 把AI模型“搬进“炼铁车间
  • 互联网大厂 Java 求职面试中的技术探讨
  • GEO 服务商横向测评:森辰 GEO、剪流 GEO、增长超人怎么选|中小企避坑选型指南
  • Xbox成就解锁终极指南:3分钟掌握免费开源工具的完整教程 [特殊字符]
  • 从大鼠到猫和犬,从基础研究到转化应用——云克隆推出骨骼肌细胞全系列
  • 为什么电流传感器检测信号会出现高频波动?
  • 传统变压器会SST被淘汰吗?
  • 如何在一台电脑上轻松实现多人分屏游戏:Nucleus Coop 实战指南
  • 杰理之固定通话音量【篇】
  • 计算机毕业设计之高校社团招新管理系统
  • 当游戏成就变成可编程的艺术:Xbox成就解锁器的逆向工程之旅
  • AlwaysOnTop窗口置顶工具:5分钟实现多任务效率翻倍的终极指南
  • 别再用旧犀牛!Rhino8.30最新版本 完整版安装教程
  • NoSleep防休眠助手:5分钟掌握Windows屏幕永不停歇的智能解决方案
  • 如何快速掌握微信小程序逆向分析:wxappUnpacker完整指南与5个实用技巧
  • 分类与回归的概念分析
  • 轻智能时代开启,谁在夯实智慧家庭的“地基”?
  • 分布式数据管理:跨设备数据库同步原理(61)
  • 《进程的 “虚拟内存王国”:一文吃透进程地址空间的布局与本质》
  • 深圳华智信创|华为IdeaHub会议协作平板金牌代理商
  • BetterNCM安装器完整指南:告别繁琐手动操作,一键安装网易云插件
  • 如何在5分钟内免费搭建Windows本地实时语音字幕系统