题意:

有A, B两个容量的罐子,A B互质,可以对其执行一系列倒水操作,最终使B中剩下的水位n

思路:

1. 前提条件:如果A B互质,则 r = x*A mod B,对于x∈[0, B-1]  r≠0. 这个很容易用最小公倍数证明之。

2. 有了前提条件,则证明 r1 = x1*A mod B,  r2 = x2*A mod B,对于x1, x2∈[0, B-1],x1≠x2 有r1≠r2.

下面用反证法来证明之:

如果x1, x2∈[0, B-1],x1≠x2 有r1=r2,则存在 (x1-x2)*A mod B = 0.

由1知,显然矛盾了。所以2成立。

3. 由2可得,当x取遍[0, B-1]的值的时候,r也一定取遍了[0, B-1]区间里面的值。

对于本题来说,我采取下面的一种策略:

每次A是空的就加水,不空就向B倒,B满了之后就empty掉,这样在B中一定可以形成0-B的任意一个解。

#include <cstdio>
#include <cstdlib>
#include <cstring>int main()
{int ca, cb, n;while (scanf("%d %d %d", &ca, &cb, &n) != EOF){int a = 0, b = 0;while (true){if (b == n){printf("success\n");break;}else if (b == cb){printf("empty B\n");b = 0;}else if (a == 0){printf("fill A\n");a = ca;}else if (a != 0){printf("pour A B\n");if (a + b <= cb)b += a, a = 0;elsea = a + b - cb, b = cb;}}}return 0;
}

转载于:https://www.cnblogs.com/kedebug/archive/2012/12/05/2802927.html

UVa 571 Jugs(经典倒水问题)相关推荐

  1. uva 571 - Jugs

    题目链接:uva 571 - Jugs 题目大意:给出A,B和aid,A表示小杯的容量,B表示大杯的容量,aid表示要求大杯中剩余的水量,有无限的水,给出方案,(A和B互质) 解题思路:A和B互质就说 ...

  2. uva 571 Jugs

    原题: In the movie "Die Hard 3", Bruce Willis and Samuel L. Jackson were confronted with the ...

  3. 铁轨(UVa 514) 经典数据结构算法,铁轨问题

    铁轨(UVa 514) 经典算法,铁轨问题 关于数据结构中栈的应用, 题目: PopPush城市有一座著名的火车站.这个国家到处都是丘陵.而这个火车站是建于上一个世纪.不幸的是,那时的资金有限.所以只 ...

  4. uva 816(经典bfs例子)

    题意:有一个最多包含9*9个交叉点的迷宫 .输入起点,离开起点时的朝向和终点,求一条最短路径.每个交叉点的朝向不同能左转,右转或直走也不同.求最短路径. 分析:定义三元数组,[x][y][dir],位 ...

  5. uva 12730(期望经典)

    选自: http://blog.csdn.net/myhelperisme/article/details/39724515 用dp(n)表示有n个位置时的期望值,那么,对于一个刚进来的人来说,他有 ...

  6. layui table 表头合并_layui 动态表格之合并单元格

    需求: 下面用excel表格大概模拟下需求,左边是原来的,要改成右边这样的: ①第一步:再生成表格后调用此方法,以合并重复的单元格 done : function(res, curr, count) ...

  7. 提取了下刘汝佳推荐的题号...

    今天闲来没事上uva oj提取了下刘汝佳推荐的acm题号,原始数据如下: Volume 0. Getting Started    10055 - Hashmat the Brave Warrior ...

  8. HDU各种比赛题题解(一)

    HDU各种比赛题题解(一) Gardon-DYGG Contest 1 HDU1178 Heritage from father[水题] - 海岛Blog - CSDN博客 HDU1181 变形课[D ...

  9. TYUT-A专题题解(一)

    TYUT-A专题题解(一) 01A Ad Hoc UVA353 LA5247 Pesky Palindromes[回文] - 海岛Blog - CSDN博客 UVA947 Master Mind He ...

  10. Competitive Programming 3题解

    题目一览: Competitive Programming 3: The New Lower Bound of Programming Contests(1) Competitive Programm ...

最新文章

  1. Android 沉浸式状态栏的实现方法、状态栏透明
  2. 软件工程实践2017 结队项目——第二次作业
  3. 抽奖啦!AI内参、李沐新书深度学习、米家扫地机器人送送送
  4. 我非要捅穿这 Neutron(二)上层资源模型篇
  5. CC2530学习路线-基础实验-串口通讯发送字符串(4 未完待续)
  6. 合并两个无序数组java_Java实现十大排序算法(上)
  7. 使用 SAP BTP 创建一个 Spring Boot Java 应用
  8. javascript的关于刷新页面给出提示框的代码
  9. c语言成绩管理系统开题报告,学生信息管理系统,开题报告(共篇).doc
  10. centos7手动更新、每天自动更新
  11. ROS学习笔记4(编译一个ROS Package)
  12. 论有一个服务器后可以干什么
  13. 职工工作量c语言调试分析,c语言职工工作量统计
  14. Mini 容器学习笔记10——方法注入
  15. Atitit.互联网 软件编程 数据库方面 架构 大牛 牛人 attilax总结
  16. echart 全国地图 下钻省、市、区
  17. BoM在企业管理中的重要作用
  18. centos 打包某个目录_CentOS 打包压缩文件 zip 命令详解
  19. 如何查看一个网站的robots文件?
  20. js实现pc打开摄像头,拍照,下载

热门文章

  1. 【过拟合】再也不用担心过拟合的问题了
  2. 【论文解读】ICLR2021 知识建模与信息抽取
  3. 从技术解析到实战演练,三步get文本信息抽取
  4. 厉害了!这款百度炼丹神器绝了!
  5. 【NLP专栏】图解 BERT 预训练模型!
  6. 资源 | 这套1600赞的NLP课程已开放,面向实战,视频代码都有
  7. 近期有哪些值得读的QA论文?
  8. 一文把三个经典求和问题吃的透透滴。
  9. 【每日算法Day 76】经典面试题:中序遍历的下一个元素,5大解法汇总!
  10. TF2.0-tf.keras.layers.Concatenate