Игра в кости Миа вводит очень нетривиальный порядок наборов второго размера:
{3,1} < {3,2} < {4,1} < {4,2} < {4,3} < {5,1} < {5,4} < {6,1} < {6,5} < {1,1} < {2,2} < {6,6} < {1,2}
В общем, порядок внутри кортежа не имеет значения {x,y}={y,x}
,
{1,2}
он больше, чем что-либо еще, пары больше, чем непары, и числовое значение определяется в случае связи.
Теперь предположим, что вы хотите использовать n
кости. Также у кубиков есть m
лица.
Пример:
{1,5,3,4} < {1,2,6,3}
с 5431 <6321{1,2,3,5} < {1,1,5,6} < {1,1,5,5}, {1,1,6,6} < {1,1,1,3} < {2,2,2,3} < {1,1,1,1} < {1,2,3,4}
{2,2,5} < {1,1,6}
так как оба набора имеют каждую пару и 611> 522
В двух словах, {1, ..., n}
это больше, чем все остальное. Пусть p > q
, тогда p-of-a-kind больше, чем q-of-a-kind. В случае ничьей побеждает второй (третий) ... самый длинный в своем роде. Наконец, если решение еще не принято, выигрывает наибольшее числовое значение. Числовое значение набора - это наибольшее целое число, которое вы можете построить из доступных чисел в наборе, используя конкатенацию. Пример:
{2,5,4,3}
становится 5432{4,11,3,4}
становится B443 (> разрешены 6-гранные кости, B = 11)
Ваша задача - написать наименьшую возможную программу (т. Е. Функцию) на выбранном вами языке, которая при наличии двух контейнеров (list, array, set, ...) возвращает, выиграет первый или второй.
Примечание: вы можете предположить, что два контейнера имеют одинаковую длину и содержат только положительные целые числа, но не более того. Особенно они могут быть не отсортированы. Возвращаемое значение может быть любым, например, {-1, 0, 1} для {первых побед, ничьих, вторых побед}.
{1,1,6}
,{2,2,5}
? Сравниваете ли вы числовое значение самого большого р-типа или какой-либо кости?Ответы:
Желе , 16 байт
Принимает список списков, каждый из которых представляет бросок (может быть больше двух, если требуется) и возвращает список победителей.
Попробуйте онлайн! ... альтернативно вот версия, которая вместо этого сортирует броски от самого слабого до самого сильного.
Как?
источник
1,1,2
и1,2,2
считаются равными, но спецификации в настоящее время не отличают их либо.{1,1,5,6} < {1,1,5,5}
где6 > 5
. Не могли бы вы уточнить?ÐṀ
с каким -то ,Þ
для целей тестирования - с использованием элементов из примера сортирует их в том же порядке. Используется следующий порядок: сначала по «top-dog», затем по убыванию равных граней и, наконец, по убыванию уникальных граней.JavaScript (ES6), 162 байта
Объяснение: принимает два массива в качестве параметров.
g
преобразует каждый массив в список отсчетов. Затем список проверяется, чтобы увидеть, соответствует ли он набору1..n
. Подсчет отсортирован, а отсортированные значения объединены. Затем результаты сравниваются. Возвращаемое значение является положительным целым числом, если второй массив выигрывает, и отрицательным целым числом, если первый массив выигрывает, в противном случае возвращается ложное значение JavaScriptundefined
.источник
PHP 333 байта
Я предполагаю, что меньше кубиков, чем лица с наибольшим значением, как улица, начинающаяся с 1
Я делаю немного больше. Ввод - это массив с более чем двумя значениями. Выход - отсортированный массив.
Сломать
источник
Юлия (489 байт)
Удобочитаемый:
источник