Не совсем вопрос, скорее загадка ...
На протяжении многих лет я участвовал в нескольких технических интервью с новыми сотрудниками. Кроме того, что я задавал стандартные вопросы «Знаете ли вы X технологии», я также пытался понять, как они решают проблемы. Обычно я отправляю им вопрос по электронной почте за день до собеседования и ожидаю, что они примут решение к следующему дню.
Часто результаты были бы довольно интересными - неправильными, но интересными - и человек все равно получал бы мои рекомендации, если бы мог объяснить, почему они выбрали тот или иной подход.
Так что я решил написать один из своих вопросов для аудитории Stack Overflow.
Вопрос: Какой самый экономически эффективный способ кодирования состояния шахматной игры (или ее подмножества)? То есть, учитывая шахматную доску с законно сложенными фигурами, кодируют и это начальное состояние, и все последующие законные ходы, предпринятые игроками в игре.
Код не требуется для ответа, просто описание алгоритма, который вы бы использовали.
РЕДАКТИРОВАТЬ: Как указал один из плакатов, я не учел временной интервал между ходами. Не стесняйтесь учитывать это также в качестве дополнительной опции:)
EDIT2: просто для дополнительного пояснения ... Помните, кодер / декодер осведомлен о правилах. Единственные вещи, которые действительно должны быть сохранены, - это выбор игрока - предполагается, что кодировщик / декодер может знать все остальное.
РЕДАКТИРОВАТЬ3: Будет трудно выбрать победителя здесь :) Много хороших ответов!