сценарий
Я использую локскрин для сопоставления с образцом и, к сожалению, забыл свой шаблон. Я хотел бы знать, сколько времени мне потребуется, чтобы разблокировать его. Вот спецификации экрана блокировки Google, которые мы будем использовать для этой задачи.
- Каждые 5 неправильных кодов пользователь должен ждать
30 seconds
перед дальнейшим вводом. Шаблон должен, по крайней мере, состоять в
4 points
(см. Ниже)Точку можно использовать только один раз, но вы можете пройти через нее несколько раз (см. Изображение справа ниже):
Здесь центральная точка используется только один раз, даже если мы повторим ее снова для этого конкретного шаблона.
Гипотеза и факты
Мы предположим, что мы супергерои и что мы можем нарисовать любой шаблон 1 second
, нам никогда не нужно есть или спать. Да, мы сверхчеловеки.
Я очень неудачливый человек. «Наихудший сценарий» - это моя повседневная жизнь, поэтому шаблон, который я попробую в последний раз, будет правильным.
Что мы должны pwn?
Для тех, кто этого не знает, Android (и другие телефоны сейчас) предлагает возможность разблокировать телефон путем рисования рисунка на 9-точечной матрице. Эта матрица может быть описана следующим образом:
C(A) M(B) C(C)
M(D) X(E) M(F)
C(G) M(H) C(I)
- C означает «угловая точка»
- М для "средней точки"
- X для "центральной точки"
- Я дал идентификаторы точкам, чтобы было легче
Разрешенные прямые подключения:
Угловой пункт:
Средняя точка:
Центральная точка :
Однако, как указал Steveverrill, «как только центр используется (и, следовательно, становится недоступным), прямое соединение между нижним левым и верхним правым углом становится однозначным и, следовательно, возможным». То же самое касается любой «средней точки», если, например, точка B уже подсчитана, то возможна прямая связь между A и C. Если, например, F уже подсчитано, то возможна прямая связь между C и I. И т.д...
правила
- Суть этой задачи заключается в том, чтобы узнать, сколько времени (в удобочитаемой форме, т.е. год / день / месяц / час / независимо от того, сколько времени вы найдете) мне потребуется, чтобы разблокировать этот чертов телефон.
- Вы не можете жестко закодировать количество возможных действительных шаблонов (даже не Google, вы дурак), рассчитать его (это на самом деле забавная часть, не так ли?)
- Самый короткий кусок кода выигрывает
- Удачи !