首页 > 编程知识 正文

安卓手机怎么破解屏幕锁,手机绘制图案破解

时间:2023-05-05 09:35:03 阅读:156661 作者:1805

主题链接

主题:

栗主席(lizi )是某xxxx大学的专业猴子,难道他有女盆友,我们假设是QQ!

当天,QAQ问板栗:“你的小米5s图片解锁密码到底是多少?

栗:算了吗? 仔细想想……

QAQ :你好像在戏弄我…

.

栗:解锁我的图片我用过好几次密码。 之后,因为用指纹解除了锁定,所以忘记了密码的痛苦。 但我记得可能是那几个密码

QAQ :那么,请一定要告诉我…

栗: …

然后,栗写下了一堆可能的密码。 在安卓图案的锁定解除中,会显示与数字对应的位置。

不过,栗子当然不想把真正的密码告诉QAQ,所以在QAQ上提供的一系列密码中,甚至有不符合安卓图案解锁规则的密码。

QAQ也知道栗子不诚实,给了他很多错误的密码,甚至是不符合规则的密码。 所以,我想让你找出哪个密码不符合规则。

Android解锁密码具有以下特点:

1 .每个数字最多只使用一次。

2 .想直接连接两个数字,但只有线段中有另一个数字通过,且该数字以前已经使用过,才合法。 (例如,如果想从1到9连续领取,1-3-9或者3之前已经使用过,可以从1-9直接领取)

输入说明:

多组输入

每组输入占一行,包含一系列数字(1~9),长度不超过30

输出说明:

输出该Android模式,判断解锁是否合法,如果合法则输出“YES”,如果相反则输出“NO”。 (请参阅示例输出。 请勿输出引号。 )

问题解:我个人认为,从数字的角度直接考虑的话,情况太多了,容易出错,所以我们还是直接建立关系比较好

你会发现经过的点都在连接线的中点

针对这些情况

中点可以计算,但点的坐标不是全部整数。 这一点不在考虑之内。 那么,把情况分成两类,一次列举所有的数就可以了

代码如下。

# include iostream # include string # include string.h # includecmathusingnamespacestd; int biao[4][4]; int main () { string a; while(Cina ) ) memset ) Biao,0,Sizeof ) Biao ); for(intI=0; i=a.length ()-1; I ) if ) I==a.Length(-1 ) {cout'YES'endl; 布雷克; } int x=a[i]-'0'; int y=a[i 1]-'0'; int a、b、c、d; if(x%3==0) {a=x/3; b=3; } else {a=x/3 1; b=x%3; (if ) y%3==0) {c=y/3; d=3; } else {c=y/3 1; d=y%3; } biao[a][b]=1; if(Biao[c][d] ) { cout'NO'endl; 布雷克; ) if(ac ) %2==0) bd ) %2==0) { biao[a][b]=1; biao[c][d]=1; into=(ac )/2; intp=(bd )/2; if(Biao[o][p]==0) ) { cout'NO'endl; 布雷克; } } else { biao[a][b]=1; biao[c][d]=1; } } }}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。