网上 有好几种 解决方案,skywind.name上的这个最棒, 赞一下!

可惜 偶 苦思冥想 3 个小时,思路换了3、4种,也没找到完美解决方案。

以下 是 转自 skywind.name

12个小球称重问题的完美解法

先看答案,设小球编号分别从A到L,不管每次的结果如何(没有条件分支),如下比较三次:

A B C D === E F G H

A H I K === C D E J

C G I L === A D F K

我们将天平左侧重称为结果1;右侧重为结果-1;平衡为结果0。显然,如果上面三次比较的结果为1,1,-1,则A是坏的,并且比较重。如果结果是-1,0,0,则B比较重。我们还能得出一个额外的解,就是三次都平衡,则没有错误的小球。

所有球比较重的情况列表如下,将结果取反就是轻球的情况。可以看出,每个小球是否轻重都有且只有一种结果状态相对应。

A B C D E F G H I J K L

1 1 1 1 -1 -1 -1 -1 0 0 0 0

1 0 -1 -1 -1 0 0 1 1 -1 1 0

-1 0 1 -1 0 -1 1 0 1 0 -1 1

那么这个表是如何来的呢?能不能有其他本质上不同(不是这个次序的重排列)的类似方案呢?

先说怎么作这个表,将每一竖列看做一个向量,向量的每个分量可能取值为-1,0,1;按字典序取12个排在(000)后面的向量就是:

A B C D E F G H I J K L

0 0 0 0 1 1 1 1 1 1 1 1

0 1 1 1 -1 -1 -1 0 0 0 1 1

1 -1 0 1 -1 0 1 -1 0 1 -1 0

检查每一行,要求-1和1的数目相同,如果不能满足,则将某个1或-1取反。第三行自然满足,第二行可以把C的1改成-1,第一行可以更改F、H、J、L的值来达到目的。修改后的矩阵如下:

A B C D E F G H I J K L

0 0 0 0 1 -1 1 -1 1 -1 1 -1

0 1 -1 1 -1 -1 -1 0 0 0 1 1

1 -1 0 1 -1 0 1 -1 0 1 -1 0

这个结果与前面看起来不同,但实质一样。另外,通过这种方式也可以看出,3次天平称量13个小球问题是无解的。

matlab最小字典序,12小球称重问题 完美解决方案(转自 skywind.name)相关推荐

  1. 12球称重C语言算法,12小球称重问题

    题目: 已知有12个小球,一样的形状和外观,其中有一个是次品,现在给你一个无砝码的天平,称三次, 把这个次品找出来,并且求出这个次品相对真品是偏重还是偏轻? 解答: 首先把小球分成三堆,每堆四个. A ...

  2. 小球称重的解法整合 N个小球有一个坏球,最少几次能找出坏球

    小球称重的解法整合 N个小球有一个坏球,最少几次能找出坏球     最近在看小球称重的问题,之前只记住了公式,最近回过来看,发现知乎上多了一些优质答案,遂记录一下. 现附上学习地址 先说结论, N 个 ...

  3. 远距离识别超高频RFID读卡器在无人值守车辆称重系统|地磅智能称重系统硬件解决方案中的应用

    随着RFID技术的普及与低成本化的推进,各行各业能尽量减少人工干预的项目,更可能的实现RFID自动识别,数据自动交回,比如我们生活中,不起眼的车辆称重行业,也逐渐实现无人值守,自动识别运作.以往通常运 ...

  4. python小球方案问题_十二个小球称重问题及其Python实现

    一.问题描述 在12个外观完全相同的小球中,有一个与其它球重量不同.如何只用一架天平找到这个球并判断它比其它球轻还是重?最少需要称几次?39个球呢? 二.问题分析 这是一个很经典的信息论问题,最开始的 ...

  5. 十二个小球称重问题及其Python实现

    一.问题描述   在12个外观完全相同的小球中,有一个与其它球重量不同.如何只用一架天平找到这个球并判断它比其它球轻还是重?最少需要称几次?39个球呢? 二.问题分析   这是一个很经典的信息论问题, ...

  6. 信息熵--硬币称重问题-详解

    在补<信息熵基础>,此书理论清晰,后面还有一堆要命的习题,加深理解和应用,实乃佳作.其中一些题目对我来说确实不易,记录巩固一下,也和大家交流一下. 顺便补一下,一份完整的参考资料或者书籍, ...

  7. 皮带秤 算法_改进型卡尔曼滤波算法在电子皮带秤动态称重中的应用.PDF

    改进型卡尔曼滤波算法在电子皮带秤动态称重中的应用.PDF 改进型卡尔曼滤波算法在电子皮带秤动态称重中的应用 江苏省计量科学研究院 李冰莹,马宇明,王海涛 南京理工大学 机械工程学院 李永新,葛方丽 [ ...

  8. 市场调研报告-全球与中国称重控制器市场现状及未来发展趋势

    本报告研究全球与中国市场称重控制器的产能.产量.销量.销售额.价格及未来趋势.重点分析全球与中国市场的主要厂商产品特点.产品规格.价格.销量.销售收入及全球和中国市场主要生产商的市场份额.历史数据为2 ...

  9. 个人小项目:现有12个小球和一个天平,小球中有一个重量与其它的不同,称重几次能将这个小球找出来

    个人小项目:现有12个小球和一个天平,小球中有一个重量与其它的不同,称重几次能将这个小球找出来 写这个小项目的心思起源于一个知乎问题:假设现在有12个小球,其中一个重量与其他的不同,至少称多少次可以称 ...

最新文章

  1. Java字节码进制转换
  2. 【维纳滤波】通过MATLAB自带的维纳滤波函数进行滤波
  3. JVM04内存结构概述
  4. NeuralBuild-用于Java、C#、PHP的DAO产生器
  5. [转]Nokia是否还有未来 - 小议诺基亚和微软的战略布局
  6. MySQL 数据库命令之 mysqlshow -- 显示 MySQL 数据库相关信息
  7. Azure 和 Linux
  8. Facebook传遍全球的17张励志海报
  9. PHP使用http_build_query()构造URL字符串的方法(可将POST参数组转换拼接成GET请求链接)...
  10. 轻量级 Lock Free 线程安全的 QueueT 的C#2.0实现
  11. 实体类多层嵌套 遍历_JS获取元素多层嵌套思路详解
  12. STM8 ADC转换模式-------单次模式
  13. 《面向对象程序设计》课程作业 (三)
  14. 学生考勤及行为管理系统_幼儿园接送考勤管理系统,可抓拍陌生人 预警黑白名单!...
  15. UIAutomator源码分析之启动和运行
  16. 台式计算机用什么电源线,电脑电源线有什么规格
  17. 计算机word降序排列怎么做,WORD表格怎么按照数字降序排列
  18. 四芯水晶头电话线的接法
  19. 如何制作表格(一)——TableLayout
  20. 什么副业可以月赚1万元?做什么副业可以月入上万?

热门文章

  1. Landsat系列数据、GF1号数据和哨兵数据下载流程
  2. 俱乐部管理系统后台的数据库创建
  3. 【连载 】Linux使用点滴
  4. ChatGPT应用场景
  5. 2010.02.03——Jquery ajax 动态更新 局部刷新
  6. python常见库集合
  7. Python实现的直线段生成算法和圆弧生成算法
  8. php网页一键翻译,web网页简单的PHP网站翻译
  9. mysql表关联字段长度不一样_mysql优化sql案例,5.6版本的致命点之两表关联的字段类型相同的重要性...
  10. 标签软件如何批量生成公司名片