`
dogasshole
  • 浏览: 851602 次
文章分类
社区版块
存档分类
最新评论

8.3数学模型中包括多个变量的例子:称硬币

 
阅读更多

问题定义:



赛利有
12枚银币。其中有11枚真币和1枚假币。假币看起来和真币没有区别,但是重量不同。但赛利不知道假币比真币轻还是重。于是他向朋友借了一架天平。朋友希望赛利称三次就能找出假币并且确定假币是轻是重。例如:如果赛利用天平称两枚硬币,发现天平平衡,说明两枚都是真的。如果赛利用一枚真币与另一枚银币比较,发现它比真币轻或重,说明它是假币。经过精心安排每次的称量,赛利保证在称三次后确定假币。


输入数据


输入有三行,每行表示一次称量的结果。赛利事先将银币标号为A-L。每次称量的结果用三个以空格隔开的字符串表示:天平左边放置的硬币天平右边放置的硬币平衡状态。其中平衡状态用"up'', "down'',或 "even''表示, 分别为右端高、右端低和平衡。天平左右的硬币数总是相等的。


输出要求:


输出哪一个标号的银币是假币,并说明它比真币轻还是重。


输入样例




1


ABCD EFGH even


ABCI EFJK up


ABIJ EFGH even


输出样例




K is the counterfeit coin and it is light.


解题思路


此题中赛利已经设计了正确的称量方案,保证从三组称量数据中能得到唯一的答案。答案可以用两个变量表示:x.假币的标号w.假币是比真币轻还是比真币重。x共有12种猜测;w有2种猜测。根据赛利设计的称量方案,(x,w )的24种猜测中,只有唯一的猜测与三组称量数据都不矛盾。因此,如果猜测 (x,w )满足下列条件,这个猜测就是要找的答案:

在称量结果为"even''的天平两边,没有出现x ;
.
如果w表示假币比真币轻,则在称量结果为"up'' 的天平右边一定出现x、在称量结果为"down''的天平左边一定出现x 如果w表示假币比真币重,则在称量结果为"up'' 的天平左边一定出现
x、在称量结果为"down''的天平右边一定出现x。
具体实现时,要注意两点:




1)选择合适的算法,对于每一枚硬币x逐个试探:
x比真币轻的猜测是否成立?猜测成立则进行输出。
x比真币重的猜测是否成立?猜测成立则进行输出。
2)选择合适的数据结构
以字符串数组存储称量的结果。每次称量时,天平左右最多有6枚硬币。因此,字符串的长度需要为7,最后一位存储字符串的结束符’\0’,便于程序代码中使用字符串操作函数。


char left[3][7], right[3][7], result[3][7];


注意事项:

1.对于经常要用到的数据,先预处理

2.仔细分析问题,减少搜索空间

代码示例:



分享到:
评论

相关推荐

    库卡8.3系统变量手册

    非常详细的介绍了kuka的系统变量,这个版本是基于8.3系统的

    KUKA系统变量英文版Google翻译过后的中文文档(KSS 8.1, 8.2, 8.3)

    这份详尽的手册涵盖了KUKA机器人控制系统(KSS)版本8.1、8.2和8.3中的所有系统变量,为使用者提供了一站式的信息资源。它不仅仅是一份文档,更是一本通往高效和创新工业自动化世界的钥匙。 在工业4.0的浪潮中,KUKA...

    postgresql 8.3 中文手册

    postgresql 8.3 中文手册

    pentaho-kettle-8.3

    kettle-8.3源码

    SecureCRT8.3_注册机

    6.以上操作完成后,我们运行软件,这是您第一次运行此版本的SecureCRT 8.3,需要设置一个可以存储配置数据的文件夹。请在下面指定一个文件夹。按取消将不设置配置而退出应用程序夹。选择后点击ok。再点击Enter ...

    postgresql8.3中文手册

    PostgresQL8.3 中文文档,添加了数据库复制功能的介绍

    PostgresQL8.3中文文档

    PostgresQL8.3 中文文档,添加了数据库复制功能的介绍。

    Lotus.Domino.Web编程

    3.10.5 例子:创建多个类的视图 76 3.11 在小应用程序表单中显示一个视图 79 参考信息 80 本章小结 80 第4章 使用帧结构、大纲和其他设计 元素 82 4.1 简介 82 4.2 在帧结构中设计 82 4.2.1 帧的不利之处 83 4.2.2 ...

    dominoWEB编程

    3.10.5 例子:创建多个类的视图 76 3.11 在小应用程序表单中显示一个视图 79 参考信息 80 本章小结 80 第4章 使用帧结构、大纲和其他设计 元素 82 4.1 简介 82 4.2 在帧结构中设计 82 4.2.1 帧的不利之处 83 4.2.2 ...

    KUKA系统变量英文版文档(KSS 8.1, 8.2, 8.3)

    这份详尽的手册涵盖了KUKA机器人控制系统(KSS)版本8.1、8.2和8.3中的所有系统变量,为使用者提供了一站式的信息资源。它不仅仅是一份文档,更是一本通往高效和创新工业自动化世界的钥匙。 在工业4.0的浪潮中,KUKA...

    Kuka Officelite8.3

    Kuka Officelite8.3

    升级openssh到8.3

    OpenSSH 是一个开源的 SSH 服务器实现,广泛应用于 Linux 和 Unix 系统中。在本文中,我们将介绍如何升级 OpenSSH 到 8.3 版本。 为什么升级 OpenSSH OpenSSH 是一个基于 SSH协议的安全远程登录和文件传输工具。...

    PostgreSQL8.3中文手册(CHM格式)

    PostgreSQL8.3中文手册(CHM格式)

    SuiteCRM 8.3 版中文包

    2023年6月版 SuiteCRM v8.3,

    真正的GHOST8.3 for dos

    PS: 前几天在CSDN 找GHOST8.3 结果遭一个老兄惑了..标题说的是8.3版本, 体积也3M多, down 下来结果是8.0版本的.. 当时网速慢, 等了好半天 才发现遭了...好郁闷哦. 现在把真正的GHOST8.3 for Dos 放出来哈.. 给需要...

    cognos 8.3 下载种子

    cognos 8.3 下载种子cognos 8.3 下载种子cognos 8.3 下载种子cognos 8.3 下载种子cognos 8.3 下载种子cognos 8.3 下载种子cognos 8.3 下载种子cognos 8.3 下载种子

    CuteFTP8.3注册机下载

    解压,打开cuteftp+8.3注册机,点应用补丁,然后“是”,找到cuteftp的安装位置,双击cuteftppro(.exe)这个应用文件,注册,提示done,表示OK,退出注册机之后再打开cute这个文件,然后一直点“是”,接下来打开...

    revolution8.3

    revolution8.3

Global site tag (gtag.js) - Google Analytics