В многомерном мире steam-панк наш босс хочет прикрепить напечатанные индексные этикетки к каждому ящику в многомерной картотеке нашего конгломерата.
Начальник хочет набрать весь лист с надписью в виде единой формы, используя шрифт, купленный только для этой цели, поэтому мы должны заказать сортировки (металлические символы). Так как сортировки очень дороги, наш заказ должен быть для точного подсчета каждого цифрового символа.
Для заданного (любым способом) набора длин измерений ≥ 0 верните (любым способом) наш порядок, который представляет собой частотную таблицу цифр, необходимую для набора всех декартовых координат. Он должен быть упорядочен в соответствии с порядком появления на клавиатуре (т. Е. 0 после 9), и может не включать в себя порядки с 0 сортировками, поэтому, если сортировки вообще не должны быть упорядочены (так как измерение имеет длину 0); ничего не печатать
- Бонус -3 сортирует, если ваш код может обрабатывать (т.е. ничего не печатать) тоже 0 измерений.
- Окончательные символы новой строки являются приемлемыми.
- Запрет на стандартные лазейки применяются.
- Как уже упоминалось, сортировки стоят дорого, поэтому это codecolf .
Добрый человек может отредактировать этот вызов, чтобы включить автоматический подсчет очков, поэтому добавьте заголовок, например:# LanguageName, 123 sorts
Контрольные примеры
Учитывая 11
, выведите:
1 4
2 1
3 1
4 1
5 1
6 1
7 1
8 1
9 1
0 1
потому что необходимые ярлыки 1
, 2
, 3
, 4
, 5
, 6
, 7
, 8
, 9
, 10
, и 11
.
Учитывая 2 3
, выведите:
1 5
2 5
3 2
потому что необходимые ярлыки 1 1
, 1 2
, 1 3
, 2 1
, 2 2
, и 2 3
.
Учитывая 2 0
, выведите пустую строку:
или ничего.
Учитывая 1 2 3
, выведите:
1 11
2 5
3 2
потому что необходимые ярлыки 1 1 1
, 1 1 2
, 1 1 3
, 1 2 1
, 1 2 2
, и1 2 3
Учитывая 5 5 5 5
, выведите:
1 500
2 500
3 500
4 500
5 500
И нет, я не собираюсь перечислять все 625 ярлыков.
Ответы:
Дьялог АПЛ,
107Код имеет длину 10 байтов и соответствует условиям бонуса.
Спасибо пользователю 46915 за 3 байта!
Обратите внимание, что
⎕
(вход) не работает на TryAPL; Вы можете попробовать форму функции здесь .Я не совсем понимаю
⌸
оператор, но{⍺}⌸
перечисляет принятые уникальные значения и{⍵}⌸
перечисляет их места в аргументе.Это имеет правильный порядок, потому что это порядок, в котором цифры появляются в многомерном массиве меток.
источник
⌸
ключевой оператор.,∘≢⌸
без каких-либо внешних продуктов с уникальными и такими ?! Дьялог, конечно, потрясающий. И,∘≢⌸
короче чем{⍺,≢⍵}⌸
.Mathematica, 48 байтов - 3 = 45
источник
Mathematica,
11185 байтБольшая часть работы здесь сделана
DigitCount
.источник
Grid[Thread@{Range@10~Mod~10,DigitCount@Tuples@Range@#~Total~2}~DeleteCases~{_,0}]&
R, 110 байт
Сохранено 4 благодаря Алексу А. (спасибо!)
источник
x
один раз , так что вы просто должны быть в состоянии заменить одно вхождениеx
сscan()
. И зачем назначатьz
?x
. Я назначил выходMap
кz
переменной иначеMap
будет печатать свой вывод на стандартный вывод.Map
invisible()
Рубин, 92 байта
Принимает длины в качестве аргументов командной строки:
источник
CJam, 31 байт
Попробуйте онлайн
Код составляет 34 байта и занимает 3 байта бонуса за работу с пустым списком ввода. Входные данные представляют собой список в формате CJam, например:
Объяснение:
источник
Pyth, 15 байт
источник
Haskell, 125 байт
источник