球问题算法分析
2011-04-04 14:59
183 查看
12个球有一个不同的,用天平3次,如何知道不同小球是轻还是重?
分析:
首先将球分成四堆:标为甲乙丙三组
将甲乙两组放上天平,看是否平衡?(第一次使用天平)。
有两种情况:1、天平平衡。2、天平不平衡。
#第一种情况#
可以判断次品球在丙盘内。然后从丙盘中取出三个球与乙盘中任三个球交换。看天平是否平衡?(第二次使用天平)
两种情况:1、天平平衡。2、天平不平衡。
1.平衡:
可以断定丙盘中剩下的那个就是次品。
2.不平衡:
可以断定刚从丙盘中取出的三个球中有一个是次品。且可以判断出次品球是轻还是重。判断出轻重以后,也就用这三个球判断就可以了。
#第二种情况#
可以判断出丙盘中全为好球。不是一般性,假设甲盘重。然后从丙盘中取出三个球与乙盘中任三个球交换。(注意,此为关键步骤)然后将乙盘中剩下的那只球与甲盘中的任一球交换。看天平是否平衡?(第二次使用天平)
有两种情况:1、天平平衡。2、天平不平衡。
1.平衡:
可以判断出从乙盘中取出的三只球中有一为次品,且次品球轻。
2.不平衡:
此时天平不平衡时有两种情况。坏球不是在甲盘没动那三个球里,就是在交换的那两个球。1、不会改变甲乙两盘的原有位置。2、改变甲乙两盘的原有位。
1、可以判断次品球在甲盘剩下的三只球中,且次品球重。
2、可以判断从乙盘中与甲盘中交换的两只球中有一只必为次品,但此时不知道次品球是轻还是重。最后一次使用天平是从两只球挑出次品球。注:为什么不知道坏球是轻是重?因为要从两个球判断,所以你无法确定哪个是次品球,比如坏球在原来的甲盘太重,或坏球原来的乙盘太轻。所以才无法判断坏球是轻是重。
分析:
首先将球分成四堆:标为甲乙丙三组
将甲乙两组放上天平,看是否平衡?(第一次使用天平)。
有两种情况:1、天平平衡。2、天平不平衡。
#第一种情况#
可以判断次品球在丙盘内。然后从丙盘中取出三个球与乙盘中任三个球交换。看天平是否平衡?(第二次使用天平)
两种情况:1、天平平衡。2、天平不平衡。
1.平衡:
可以断定丙盘中剩下的那个就是次品。
2.不平衡:
可以断定刚从丙盘中取出的三个球中有一个是次品。且可以判断出次品球是轻还是重。判断出轻重以后,也就用这三个球判断就可以了。
#第二种情况#
可以判断出丙盘中全为好球。不是一般性,假设甲盘重。然后从丙盘中取出三个球与乙盘中任三个球交换。(注意,此为关键步骤)然后将乙盘中剩下的那只球与甲盘中的任一球交换。看天平是否平衡?(第二次使用天平)
有两种情况:1、天平平衡。2、天平不平衡。
1.平衡:
可以判断出从乙盘中取出的三只球中有一为次品,且次品球轻。
2.不平衡:
此时天平不平衡时有两种情况。坏球不是在甲盘没动那三个球里,就是在交换的那两个球。1、不会改变甲乙两盘的原有位置。2、改变甲乙两盘的原有位。
1、可以判断次品球在甲盘剩下的三只球中,且次品球重。
2、可以判断从乙盘中与甲盘中交换的两只球中有一只必为次品,但此时不知道次品球是轻还是重。最后一次使用天平是从两只球挑出次品球。注:为什么不知道坏球是轻是重?因为要从两个球判断,所以你无法确定哪个是次品球,比如坏球在原来的甲盘太重,或坏球原来的乙盘太轻。所以才无法判断坏球是轻是重。
相关文章推荐
- 算法分析学习日志(一):选择问题与冒泡算法
- 爬楼梯算法问题分析(不止三步)
- 求子集问题算法分析与实现(递归、非递归)
- 分析邹健大哥的算法,终于问题解决了!!!(关于统计两日期间工作日)
- 物流配送路径优化问题分析与算法解读(一)
- Golang算法之田忌赛马问题实现方法分析
- 计算机算法设计与分析之棋盘覆盖问题
- 一类螺旋方阵问题的算法分析与实现
- Trie树的应用,一道算法问题求解 问题分析
- 汉诺塔问题递归算法分析:
- 算法分析之N皇后问题
- 算法分析——Hanoi塔问题
- Apache LRU算法问题分析解决
- 算法分析与设计之统计数字问题
- Josephus问题及其推广 分析和算法优化
- 【01背包问题】:动态规划、回溯法和分支限界法 三种算法的对比与分析(时间复杂度方面)
- 算法分析与设计回溯法之n皇后问题
- 算法设计与分析--矩阵连乘顺序问题…
- 关于算法分析的基础问题
- 算法分析与设计-13-活动安排问题的贪心算法