Необходимо разработать класс, который на вход получает список слов и возвращает 2D-список (матрицу) с кроссвордом из этих слов. Кроссворд должен быть "хорошим", то есть слова в кроссворде должны пересекаться.
Функциональность
- Принимать на вход список слов.
- Возвращать 2D-список (матрицу) представляющую кроссворд.
- При невозможности разместить все слова в кроссворде, реализовать создание кроссворда из максимума допустимых слов.
- Опционально. Добавление в класс функции создания изображения с кроссвордом.
Можно использовать идеи и код из других проектов в Интернете, главное - получить хорошо работающий результат. Например:
https://github.com/S0mbre/crosswordКритерии
- Корректность работы класса: Класс должен автоматически генерировать
кроссворд (2D-список) на основе предоставленного списка слов.
- Устойчивость: Класс должен корректно обрабатывать ситуации, когда
кроссворд из всех представленных слов создать невозможно и вместо этого
строить кроссворд из максимального количества слов.