日期:2014-05-17  浏览次数:20918 次

数据算法问题
一个人手上有一张表格,表格上有且仅有5个格子,编号依次为a1--a5;我们用1表示某个格子涂满,0表示格子为空,当仅a1涂满时(5个表格的状态组合值为:10000),表示他拥有去一楼的权限;。。。以此类推,01000      拥有去二楼的权限;
00100      拥有去三楼的权限;
00010      拥有去四楼的权限;
00001      拥有去五楼的权限;
10010      拥有去一楼、四楼的权限;
00101      拥有去三楼、五楼的权限;
          。
          。
          。
          。
那么如果要表示拥有去六楼权限,或者去七楼的权限,或者去六楼与八楼的权限呢(只用这5位的0与1两种状态组合值表示)?怎么处理?
      

------解决方案--------------------
很明显仅5位,用0和1表示不过来这些组合
------解决方案--------------------
8楼需要8位
1  2  4  8  16 32 64 128 这些数组合最大为255(即11111111,8位)
------解决方案--------------------
2*2*2*2*2,才24种情况,这个已经不是算法能解决的问题了吧?
------解决方案--------------------
00100      拥有去三楼的权限;
00010      拥有去四楼的权限;
00001      拥有去五楼的权限;
10010      拥有去一楼、四楼的权限;
00101      拥有去三楼、五楼的权限;
          。
          。
          。
          。

以上是怎么来的,题目里面的吗?
------解决方案--------------------
从LZ题意里看,一个格子代表一个楼层,一共才5个格子,怎么好表示6楼呢,逻辑上也对应不上啊。
要表示6楼,得多出来格子才行,按照题意的话,几层楼就要几个格子,就是几位。

------解决方案--------------------
引用:
从LZ题意里看,一个格子代表一个楼层,一共才5个格子,怎么好表示6楼呢,逻辑上也对应不上啊。
要表示6楼,得多出来格子才行,按照题意的话,几层楼就要几个格子,就是几位。

对,按楼主的意思,有几层楼就要有几位,现在5位只能表示五层楼