Рассмотрим обычный цилиндровый замок. Внутри у него есть пять штифтов, имеющих разную длину.
Когда в замок не вставлен ключ, или ключ не подходит к замку, положение штифтов предотвращает отпирание замка. Правильный ключ содержит углубления на месте длинных штифтов и выступы — на месте коротких, поэтому при его вставке штифты выравниваются и замок может быть открыт.
Для простоты будем считать, что у нас есть только два вида штифтов — короткие (которые будут обозначаться нулями) и длинные (которые будут обозначаться единицами). Аналогично, на ключе расположены углубления (которые будут обозначаться нулями) и выступы (которые будут обозначаться единицами).
Так, замку 00011 соответствует ключ 11100, а замку 10101 — ключ 01010. Сможете ли вы подобрать ключ для заданного замка?