100个黑球和100个白球问题---扩展思维
2012-09-04 11:35
267 查看
一个袋子里有100个黑球和100个白球,每次从袋子里面取出两个球扔掉,再放入一个特定颜色的球。
规则如下:如果取出的两个球颜色相同,则放入袋中一个白球;如果不同,则放入一个黑球。
问题:最后剩余的一个球的颜色是黑色还是白色?
方法一:
黑球◊黑球=白球
白球◊白球=白球
黑球◊白球=黑球
设黑球为1,白球为0:
1◊1=0
0◊0=0
1◊0=1
则原来的操作抽象为:对100个1和100个0做无序的异或操作。
则(1^1^...^1)[100] ^(0^0^...^0)[100]简化为 0^0=0。
故最终剩下白球。
方法二:
1)从数量上看,不管怎么操作,每次数量-1,所以最终剩下1个球;
2)3个原子操作如下:
A)出2白球,进一个白球;此时增量delta=-1白球
B)出2个黑球,进一个白球;此时增量delta=-2黑球+1白球
C)出1个黑球,出1个白球,进一个黑球;此时增量delta=-1白球
反证法:
设三个操作进行的次数为x,y,z,且假设最后剩下的是一个黑球,则有:
100白球+100黑球+x*(-1白球)+y*(-2黑球+1白球)+z*(-1白球)=1黑球
求得2y=99黑球,y不为整数。矛盾。
故最终剩下白球。
方法三:
整个过程初始状态为:100个黑球和100个白球;
结合方法二,整个过程有三个原子操作;
问题即为求最终状态。
对状态机比较熟的同学可以试试。
一个小例子,可以看出大家的建模能力以及逆向思维能力。虽然简单,却很经典。
规则如下:如果取出的两个球颜色相同,则放入袋中一个白球;如果不同,则放入一个黑球。
问题:最后剩余的一个球的颜色是黑色还是白色?
方法一:
黑球◊黑球=白球
白球◊白球=白球
黑球◊白球=黑球
设黑球为1,白球为0:
1◊1=0
0◊0=0
1◊0=1
则原来的操作抽象为:对100个1和100个0做无序的异或操作。
则(1^1^...^1)[100] ^(0^0^...^0)[100]简化为 0^0=0。
故最终剩下白球。
方法二:
1)从数量上看,不管怎么操作,每次数量-1,所以最终剩下1个球;
2)3个原子操作如下:
A)出2白球,进一个白球;此时增量delta=-1白球
B)出2个黑球,进一个白球;此时增量delta=-2黑球+1白球
C)出1个黑球,出1个白球,进一个黑球;此时增量delta=-1白球
反证法:
设三个操作进行的次数为x,y,z,且假设最后剩下的是一个黑球,则有:
100白球+100黑球+x*(-1白球)+y*(-2黑球+1白球)+z*(-1白球)=1黑球
求得2y=99黑球,y不为整数。矛盾。
故最终剩下白球。
方法三:
整个过程初始状态为:100个黑球和100个白球;
结合方法二,整个过程有三个原子操作;
问题即为求最终状态。
对状态机比较熟的同学可以试试。
一个小例子,可以看出大家的建模能力以及逆向思维能力。虽然简单,却很经典。
相关文章推荐
- 算法题目------【一个桶内100个白球,100个黑球,最后一个是黑球的概率是多少?】
- 例题:三个红球,五个白球,八个黑球,随机组成八个球,八个球里至少有一个白球,问有几种可能性。主要学习for循环穷举,锻炼计算机思维
- 为什么,一个思维方式的问题,一个习惯的问题,已经意识到了这一点,
- 数组Array进行原型prototype扩展后带来的for in遍历问题
- OpengGL扩展库glew 在VisualStudio下编译不能通过的问题(未识别的外部命令)
- 项目四~处理工人工资的问题(扩展1)
- Puppet扩展篇2-如何使用虚拟资源解决puppet冲突问题
- 关于ORA-01654: 索引 DISNEYEPORTAL.IND_SHOP_TRADES_RECORD_TID 无法通过 128 (在表空间 TS_IDX_WF 中) 扩展问题
- 多线程环境下用swig做python扩展库时的问题:如何做阻塞函数的扩展?
- TP3.2安装Memcached扩展-安装及遇到的问题-以完成
- *.jspf扩展名文件在jsp:include、@include和c:import中的区别、问题和解决
- Oracle初学者必知的100个问题
- VC2008 SP1 MFC CFrameWndEX等扩展框架对controlbar及CDialogBar的支持问题
- fedora下PAE扩展 以及virtualbox编译出现的问题的解决方法。
- Hdu 2815 Mod Tree + Poj 3243 Clever Y 扩展Baby Step Giant Step 解决离散对数问题
- iOS UITableView扩展样式使用之初级剑客篇(欢迎提建议和分享遇到的问题)
- Mac系统升级到10.9(mavericks)时安装php扩展问题解决
- windows 7 iis7.5 中 由于扩展配置问题而无法提供您请求的页面
- 动态规划_背包问题扩展
- 扩展欧几里得各类问题模板