经典指数          
原因
2308
浏览数
0
收藏数
 

九宫格,就是手机手势密码。有三问, 第一问是如果只设置2位密码,有多少种满足的密码,密码不能穿越,比如1 3之间穿过2,这是不允许的; 第二问,如果变成N*M格,判断一个2位密码是否是满足要求的密码(要求同1), 第三问,如果设置密码位数为9位,有多少种合适的密码,给出算法思路,并给出伪代码。

     举报   纠错  
 
切换
1 个答案

九宫格有三种格子,角上,边上,里面。分别分析就行了,从移动方向来分的话,四个角各3种移动方向,除角之外的四种边各5种移动方向,在里面,各有9种移动方向。先检测当前位置在哪,再穷举所有移动记录次数。

1.3*4+5*4+1*8=40.

2.可以用一个N*M的数组保存1~N*M的值,然后看两位密码是否接触,接触的条件就是横纵坐标之差均不大于1.也可以直接根据数值计算所在位置判断。

3.判断位置,穷举。

 
切换
撰写答案