У моих детей есть эта забавная игра под названием Spot It! Ограничения игры (насколько я могу описать):
- Это колода из 55 карт.
- На каждой карте 8 уникальных изображений (т.е. на карте не может быть 2 одинакового изображения)
- Для любых двух карт, выбранных из колоды, есть 1 и только 1 соответствующее изображение.
- Соответствующие изображения могут быть различны по разному на разных картах, но это только для того, чтобы сделать игру более сложной (т.е. небольшое дерево по-прежнему соответствует более крупному дереву).
Принцип игры: перевернуть две карты, и тот, кто первым выбирает подходящее изображение, получает очко.
Вот изображение для уточнения:
(Пример: вы можете видеть из нижних 2 карт выше, что совпадающее изображение - это зеленый динозавр. Между правым и нижним правым снимками это голова клоуна.)
Я пытаюсь понять следующее:
-
Какое минимальное количество разных изображений требуется для соответствия этим критериям и как вы это определяете?
-
Используя псевдокод (или Ruby), как бы вы создали 55 игровых карт из массива из N изображений (где N - минимальное число из вопроса 1)?
Update:
Изображения случаются более двух раз на колоду (вопреки тому, что некоторые догадывались). Посмотрите эту картинку из 3-х карт, каждая из которых имеет молнию: