哥尼斯堡七桥问题解法_酒分之一实验室

哥尼斯堡七桥问题解法_酒分之一实验室 JOJ1200Jugs题目链接:http://acm.jlu.edu.cn/joj/showproblem.php?pid=1200题目的意思是,有两个容器,容量分别为ca和cb,cacb,初始时两个容器都是空的,水无限量供应,问如何用这两个容器量出n单位的水放在容量为cb的那个容器中?这个题目给出的数

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

 

JOJ 1200 Jugs 题目链接: http://acm.jlu.edu.cn/joj/showproblem.php?pid=1200

题目的意思是,有两个容器,容量分别为 ca cb ca < cb ,初始时两个容器都是空的,水无限量供应,问如何用这两个容器量出 n 单位的水放在容量为 cb 的那个容器中?

这个题目给出的数据是保证有解的,而且看到这个题目的人都会想到用搜索来解决这个题目。搜索也很简单,最容易想到的自然是广度搜索,直觉上这个问题和汉诺塔问题很像,也可能用类似汉诺塔那样的算法。在搜索时状态就是当前两个容量的水量 wa wb ,如果 wb 不等于 n ,则执行所允许的六种操作: fill a, fill b, empty a, empty b, pour a b, pour b a 。这个题目 AC 的代码正是用的广度搜索。

现在作为一个有趣的数学问题来看,分析一下它有什么性质。这个问题是有名的泊松分酒问题。在网上有一篇文章对此类问题作了深入分析,这篇文章是:

http://blog.sina.com.cn/s/blog_41482c9f0100cts1.html

但那些问题与这个题目的情境略微不同。对于这个题目,自己有以下几个问题非常想弄明白:

1.       fill empty 操作是填满或者清空容器, pour 操作是把一个容器的水倒入另一个直到另一个满或这个容器空。所以,很显然,任何时候,两个容器或者一个为空,或者一个为满。

2.       这个问题在什么情况下必定有解,在什么情况下必定无解。 n > cb 时必定无解,有没有一个值 n0 使得 n < n0 时也必定无解?

3.       如果能够量出 k 单位的水,是否也一定能够量出 mk 单位的水,其中 m 是正整数并且 mk <= cb

4.       直觉上这个题目和两个容量 ca, cb 的最大公约数有关,欧几里德算法在这里是否有用。 ( 并且上面给出的文章链接也介绍了二元一次不定方程的方法,二元一次不定方程的结果就是这两个数的最大公约数的倍数 )

数学功底太浅,只能想到这些问题并且都没办法证明。暂时把问题记在这里,待学习一段时间再回头来看。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/184746.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 软件工程导论各种图_软件工程第一章思维导图

    软件工程导论各种图_软件工程第一章思维导图1、E-R图E-R图也是实体-联系图,E-R图属于需求分析的一部分,为了把用户的数据要求清楚、准确地描述出来,系统分析员通常建立一个概念性的数据模型。下面介绍E-R图的画法E-R图由数据对象(实体)、属性、联系三部分组成。通常用矩形框代表实体、用菱形框表示关系,用椭圆形或圆角矩形表示实体(或关系)的属性。例如:2、N-S图出于要有一种不允许违背结构程序设计精神的图形工具的考虑,提出了盒图,又称N-S图。盒图的表示方法有:盒图没有箭头,因此不允许随意转移控制。(

    2022年8月13日
    11
  • php开源在线客服系统_开源在线客服系统源码

    php开源在线客服系统_开源在线客服系统源码介绍:PHP来客在线客服系统源码带安装教程一键安装淘宝买的版本,状态比流通版本还是要好很多。不支持前端商户注册。网盘下载地址:http://www.bytepan.com/jUjduu3BKfx图片:

    2025年11月22日
    6
  • 【用python编写一个简单的单线程wifi暴力破解工具】

    源代码a.txt:密码文件crack.py:wifi破解模块main.py:主模块scan.py:wifi扫描模块scan.pyimportpywifiimporttime#WiFi扫描模块defwifi_scan():#初始化wifiwifi=pywifi.PyWiFi()#使用第一个无线网卡interface=wifi.interfaces()[0]#开始扫描interface.scan()

    2022年4月9日
    50
  • Raid5磁盘阵列修复方法介绍「建议收藏」

    Raid5磁盘阵列修复方法介绍「建议收藏」  在RAID5中,数据条带化后存储在分布式奇偶校验的多个磁盘上。分布式奇偶校验的条带化意味着它将奇偶校验信息和条带化数据分布在多个磁盘上,这样会有很好的数据冗余。而有时候raid5磁盘阵列损坏,我们该如何修复呢?  1.若单个硬盘失效,尝试热插拔,即拔下来再插上去;如果不能解决,则进入RAID配置界面,将该硬盘进行ForceOnLine操作;如果不能解决,尝试更换-其它硬盘…

    2022年4月28日
    1.4K
  • centos7 本地yum源_centos6更换为阿里源

    centos7 本地yum源_centos6更换为阿里源一、centos7配置yum源yum源分为本地yum源和网络yum源1、配置本地yum源步骤一:在centos虚拟机中挂载光盘1.创建挂载点目录[root@localhost~]#mkdir/mnt/cdrom[root@localhost~]#df/mnt/cdrom文件系统1K-块已用可用已用%挂载点/dev/sda33951733677184163179892020%/2.挂载光盘[root@loc

    2022年8月13日
    8
  • Java开发手册之二方库依赖

    Java开发手册之二方库依赖Java开发手册之二方库依赖

    2022年4月23日
    56

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号