Празднование многоликого APL
Если в столбце 1 или столбце 2 таблицы ниже приведена строка, верните соседа строки справа от него. Другими словами, если дана строка в столбце 1, вернуть строку столбца 2 в этой строке, а если дана строка в столбце 2, вернуть строку столбца 3 в этой строке.
Кодовые точки (отличные от :
') перечислены в крайнем правом углу.
столбец 1 столбец 2 столбец 3
:⊢
→ ⍡
→ ⊣:
U + 22a2 U + 2361 U + 22a3
:▷
→ ⍢
→ ◁:
U + 25b7 U + 2362 U + 25c1
:⋆
→ ⍣
→ ⋆:
U + 22c6 U + 2363 U + 22c6
:∘
→ ⍤
→ ∘:
U + 2218 U + 2364 U + 2218
:○
→ ⍥
→ ○:
U + 25cb U + 2365 U + 25cb
:≀
→ ⍨
→ ≀:
U + 2240 U + 2368 U + 2240
:∧
→ ⍩
→ ∨:
U + 2227 U + 2369 U + 2228
Анекдот: Большинство из этих символов действительны или предложены на некотором диалекте APL (все они являются ссылками).
По запросу только символы:
:⊢ ⍡ ⊣:
:▷ ⍢ ◁:
:⋆ ⍣ ⋆:
:∘ ⍤ ∘:
:○ ⍥ ○:
:≀ ⍨ ≀:
:∧ ⍩ ∨:
Python 3 ,
140137116 байтПопробуйте онлайн!
источник
:
глаза.Желе , 56 байт
Полная программа.
Попробуйте онлайн!
Примечание: (
ɱaɲ
!) Несмотря на то, что существует некий шаблон для:
неординалов (средний столбец почти последовательный, многие левые и правые одинаковые - только два от одного и один от десяти), этого просто не достаточно для такого небольшой набор данных, позволяющий сохранять любые байты.Первые тринадцать байтов тоже могут быть
“¡ÐɼU¹’ṃ“"%#‘
.Как?
источник
PHP , 147 байт
Попробуйте онлайн!
источник
array_flip
!array_flip
на один или два байта короче как альтернатива,array_search
и многобайтовый в этом случае стоит много байтов.05AB1E ,
585654 байтаПопробуйте онлайн!
объяснение
Вышеупомянутый метод должен работать с любым числом в диапазоне
[8676 ... 8728]
, поэтому, если я смогу найти там число, которое можно сгенерировать в 3 байта, я мог бы сохранить байт поверх текущего решения.источник