Завдання на кмітливість, впору ставити на співбесіді.

Завдання

Ви знаходитесь в аеропорту і спізнюєтеся на співбесіду в Google, ваш мобільник сіл, і вам доводиться викликати таксі з таксофона знаходиться всередині будівлі. Після цього ви йдете на стоянку таксистів і повинні знайти саме вашого таксиста, так як тільки він повезе вас короткою дорогою і ви не встигнете. У таксиста є табличка з маркером, питання: Що ви повинні попросити написати таксиста на табличці, щоб пізнати його.

Умова 1: На стоянці всі інші таксисти — дуже логічні і меркантильні, і побачивши дії вашого таксиста повторять їх.

Умови 2: Ви розмовляли з оператором, який ще не знав який таксист буде вас обслуговувати, тобто ви не можете дізнатися про нього нічого.

Відповідь

Оскільки задачка моя, то і про правильність відповідей судити мені, пишіть коментарі (і пропустіть наступний абзац, якщо не хочете обламувати собі кайф від вирішення 😉

Для початку трохи про неправильних рішеннях:

  • Якщо ви попросіть написати ваше ім’я — всі таксисти напишуть теж саме
  • Попросіть написати номер своєї машини — таксисти швидко зметикують, і напишуть кожен свій
  • Попросіть написати координати на стоянці — всі інші теж напишуть свої

А тепер кілька можливих варіантів відповіді:

Одне з рішень — водій повинен написати MD5(номер машини + сіль яку я повідомлю по телефону), але як ви будете це обчислювати (та й таксист теж).

Другий варіант — водій повинен написати номер машини зашифрований Виженером, ключ ви повідомляєте по телефону. (таксисти можуть звичайно встигнути розшифрувати, але тоді вам треба поквапитися).

Третій варіант — водій повинен написати якусь контрольну суму з його номера машини і ключового слова, яке ви повідомите.

А тепер друга задачка, яким чином можна прискорити пошук таксиста, що він повинен написати?
А що якщо всі таксисти чують, що говорить оператор шуканого таксисту?