Позиционная осведомленность
Ваша задача - создать программу, которая для каждой перестановки своих символов (включая исходную программу) выводит позиции каждого символа относительно исходной программы.
Если ваша программа
Derp
вы должны вывести
[0, 1, 2, 3]
(или какой-то эквивалент). Это потому, что D
находится на 0
й-й позиции, e
на 1
й- 2
й и т p
- 3
й.
Давайте возьмем другую программу, которая является оригинальной, но с перестановками символов:
epDr
Вы должны вывести
[1, 3, 0, 2]
потому что e
находится в 1
положении й оригинальной программы, p
находится в 3
положении я, D
на 0
е, и r
в 2
е.
Если исходная программа имеет два повторяющихся символа:
abcda -> [0, 1, 2, 3, 4]
Тогда для перестановки, 0
и 4
в массиве должны быть в порядке возрастания:
baadc -> [1, 0, 4, 3, 2] (0 first, then 4)
Правила:
- Ваша программа должна содержать как минимум два уникальных символа.
У большинства
floor(n/2)
персонажей должны быть одинаковые.aabb (acceptable) aaaabc (not acceptable, only floor(6/2) = 3 a's allowed)
Вывод вашей программы может быть либо массивом (или чем-то похожим), содержащим все позиции символов по порядку, либо строкой с любым разделителем, так что это прекрасно:
[0, 1, 2, 3] 0,1,2,3 0 1 2 3
источник
12
на R действительной? Это просто напечатало12
бы и если переставлено;21
,Ответы:
На самом деле , 2 байта
Попробуйте онлайн!
Это печатает
в то время как (только) другая перестановка
печать
Как это работает
На самом деле, последовательные цифры анализируются отдельно, поэтому
10
помещает 1 в стек, а затем 0 поверх него.Когда программа завершает работу, стопка печатается сверху вниз, поэтому сначала печатается 0 , затем перевод строки, затем 1 .
Программа Derranged
01
делает то же самое, в обратном порядке.источник
Желе , 2 байта
Попробуйте онлайн!
Выходы:
[0, 1]
Другие
J;
выходы перестановки :[1, 0]
Как это работает:
источник