感觉题目出得不太好~题目说到有一条件是“肯定能开锁”但解答那里是有选择的去试的,这里密码位数少就当然能用这种方法,如果位数多了就不一样了~!就假设变成6位吧,那时候作出筛选来试比一个一个试可能更慢,以楼主在14楼的发言作例子,楼主用这个简单例子说明未必要N*N次,但实际上题目说了是“肯定能开”做了选择性的当然了,倒不如直接选了正确密码就一次OK了~~只有两位当然可以知道001和110覆盖了其他,但假设你不知道这两个数是覆盖了所谓其他数呢?就好像6位密码一样,知道那些数合起来覆盖所有其他数吗?这太麻烦了吧,如果在不知道的情况下就只能慢慢试,如果试两次,从000开始,那试了000,001是不是能开密码为101的呢?不能吧。 所以能符合“肯定能开”这个条件的尝试方法应该是N*N-1的 |