Вдохновлен этим вопрос об упаковке в этот формат.
Иногда я вижу законченный кроссворд, и, будучи таким, какой я есть, я не могу потрудиться узнать, каковы были на самом деле решения для подсказок.
Входные данные:
- 2D строка (любой формат, разделение новой строки, 2d список и т. Д.)
- Пустые квадраты будут представлены
символом (пробел)
- Каждый второй квадрат будет в строчном алфавите.
- Вы можете предположить, что ввод будет дополнен пробелами для формирования прямоугольника
Выход:
- Каждое слово найдено
- Вы должны искать слова вдоль и вниз
- Слова будут длиной не менее двух букв
- Если есть повторяющиеся слова, вы должны выводить их каждый раз, когда они появляются
- Вам не нужно делать никакой проверки
- Слова могут быть выведены в любом порядке
- Нет строгих правил форматирования
Тестовые случаи:
word
e e
step
t d
word, step, west, reed
---
pies
not
no
wasp
pies, not, no, wasp, in, eons, stop
---
igloo
n
word
igloo, word, on
d
, что делаетj
объединение наc ... )
CJam, 14 байтов
Безымянный блок, который ожидает список (дополненных) строк в верхней части стека и оставляет вместо этого список слов.
Проверьте это здесь.
объяснение
источник
JavaScript (ES6), 83 байта
источник
Pyth , 18 байт
Попробуйте онлайн!
Пример ввода:
Пример вывода:
Как это работает:
источник
Haskell, 58 байт
Пример использования:
f ["pies"," not"," no","wasp"]
->["pies", "not", "no", "wasp", "in", "eons", "stop"]
.Как это работает: разбить каждую из строк ввода и транспонировать ее в пробелах в один список слов. Оставьте те, которые соответствуют
(_:_:_)
, то есть имеют по крайней мере две буквы.источник
C ++ 14,
209207201 байтСмешно большое количество байтов ... ну да ладно. Транспонировать матрицу, разбить строку. Легко. Жаль, нет родной функции для транспонирования
Ungolfed:
Как его использовать (обратите внимание, что вы должны применять отступы, как указано в вопросе):
источник
Пайк, 9 байт
Попробуй это здесь!
Или 7 байтов предварительно
Попробуй это здесь!
источник