Вам дают четверть карты, которая симметрична по осям X и Y в качестве входных данных. Программа должна распечатать полную карту.
Карта может содержать следующие символы:, -+/\|.
и они должны быть повернуты, как и ожидалось. Данные всегда прямоугольные и маленькие.
пример
$ cat in
+---
|./.
|/..
$ ./solution < in
+------+
|./..\.|
|/....\|
|\..../|
|.\../.|
+------+
Самый короткий код выигрывает.
Ответы:
Golfscript - 32 символа
Из-за симметрии задачи мы повторяем дважды {перевернуть горизонтально, транспонировать (
zip
)}. В качестве бонуса вы можете изменить значение2
на большее число, чтобы повторить изображение больше.Транспонирование символов выполняется как
x^=155 if x%3==2
, из-за ограниченного пространства символов. Там тоже{.5^3%(45+}
на той же длине.источник
Холст ,
54 байтаПервый ответ Canvas, так что давайте начнем с простого. :)
-1 байт благодаря @dzaima .
Косые черты автоматически преобразуются при отражении или вращении в Canvas.
Может быть 1 байт
╬
( попробуйте онлайн ), но, к сожалению, он также преобразует точки.
в одинарные кавычки'
при зеркальном отражении по горизонтали.Попробуйте онлайн.
Объяснение:
источник
Windows PowerShell, 99
103117126129Примечания:
Тестовое задание:
история
OFS
сохранить-join
и сохранить99..0
в переменной.-replace
работает против массивов, так что не нужно три-replace
сек , но может сделать-split
,-replace
,-join
вместо этого.$a
, так как99..0
сейчас он не используется так часто.filter
определения не должно быть пробела . Удалил$x
и вместо этого собирал каждую строку во время первого запуска в массиве, а затем выводил ее для второй половины.источник
Рубин -
8887 символовТестовый забег
источник
APL (Dyalog Классический) ,
2523222119 байтПопробуйте онлайн!
источник
Древесный уголь ,
54 байта-1 байт благодаря @Neil .
Древесный уголь автоматически справляется с отражением косой черты.
Попробуйте онлайн (многословно) или Попробуйте онлайн (чисто) .
Объяснение:
Возьмите ввод как строку:
Отразите зеркало как вправо, так и вниз (
:⌈
встроено для:Right, :Down
):источник
⌈
дает вам право и вниз в одном байте.⌈
в подробном коде?:RightDown
конечно не будет результатом, которого мы хотели бы.:
префикс в режиме Verbose.:Right:Down
, или::RightDown
, или что-то еще? Однако ни один из этих двух результатов не будет представлен⌈
в закодированной версии с-vl
аргументом. Что должен получить подробный кодS‖M⌈
при использовании-vl
arg?ReflectMirror(:⌈)
Perl, 80 символов
источник
Сценарии оболочки!
I / O
источник
CJam, 26 байтов
CJam новее этой задачи, поэтому этот ответ не имеет права на зеленую галочку, но в любом случае это было забавное упражнение
Проверьте это здесь.
объяснение
Транспонирование в конце приводит ко второму переключению вдоль столбцов. В конце мы снова транспонируем карту и получаем исходную ориентацию.
источник
Powershell, 95 байт
Вдохновленный ответом Джои .
Примечание:
40
потому что автор публикует комментарийLet's say the input is at most 16 rows and 40 characters
.Тестовый скрипт:
Выход:
источник
Рубин - 105
источник
Golfscript - 44 символа
результат
Еще один скрипт, который работает только для примера и не переворачивает '\' - 32 символа
результат
источник
Haskell , 76 байт
Попробуйте онлайн!
источник
MS-SQL 2017, 243 байта
вход :
сжатый :
человек читаемый :
вывод (как текст в ex.management studio):
источник