Я делал поиск слов в последнее время , и я думал , что это будет так намного легче , если все слова читаются слева направо. Но переписывание всех строк требует больших усилий! Так что я заручился поддержкой игроков в гольф.
(Отказ от ответственности: вышеупомянутая история может быть или не быть отдаленно точной.)
Ваш код возьмет прямоугольную сетку и выведет через нее все линии в обоих направлениях.
Выходные данные должны содержать все 8 поворотов сетки (кардиналов и главных диагоналей), «считывать» сверху вниз, слева направо. (Это означает, что каждая «строка» будет дублироваться - один раз вперед и один раз назад.)
Разделение строк может быть либо пробелом, либо переводом строки. Если вы выбираете пробелы, деление поворота сетки должно быть переносом строк; в противном случае деление вращения сетки должно быть двумя разрывами строк.
Пример ввода (принимается как массив символов, многострочная строка или другой приемлемый формат)
ABCDE
FGHIJ
KLMNO
PQRST
Пример вывода (используя первую опцию для делений)
ABCDE FGHIJ KLMNO PQRST
E DJ CIO BHNT AGMS FLR KQ P
EJOT DINS CHMR BGLQ AFKP
T OS JNR EIMQ DHLP CGK BF A
TSRQP ONMLK JIHGF EDBCA
P QK RLF SMGA TNHB OIC JD E
PKFA QLGB RMHC SNID TOJE
A FB KGC PLHD QMIE RNJ SO T
Порядок поворотов «считывание» не имеет значения, если все восемь кардиналов и первичные интеркардиналы выполняются один раз.
Это код-гольф , поэтому выигрывает самый короткий код. Применяются стандартные лазейки.
источник
Ответы:
Python 3, 181 байт
объяснение
Результаты
с более чистым выводом (189 байт)
,
источник
MATL , 40 байт
Ввод - это двумерный массив символов в Matlab:
Вывод содержит каждое слово в отдельной строке.
Попробуйте онлайн!
источник