Я был в автобусе сегодня, и заметил этот знак:
seated standing wheelchairs
max1 37 30 00
max2 36 26 01
max3 34 32 00
Количество сидячих пассажиров, пассажиров и инвалидных колясок должно быть не больше ряда строк в таблице. (Подробности см. В чате)
Для целей этой задачи мы обобщим эту идею: учитывая неотрицательный целочисленный список строго положительной длины N (количество типов пассажиров) и неотрицательную целочисленную матрицу строго положительных измерений (N столбцов и по одной строке на конфигурацию). или транспонировать это), вернуть список индексов / truey-falsies / two-unique-values, указывающий, какие ограничения конфигурации выполнены.
Например, с помощью приведенной выше матрицы:
30,25,1
→ [1]
(0-индексированный) [2]
(1-индексированный) или [false,true,false]
(логический) или ["Abe","Bob","Abe"]
(два уникальных значения) и т. Д.
В следующих тестовых примерах используется вышеуказанная матрица и 0/1 для false / true:
[30,30,0]
→ [1,0,1]
[30,31,0]
→ [0,0,1]
[35,30,0]
→ [1,0,0]
[0,0,1]
→ [0,1,0]
[0,0,0]
→ [1,1,1]
[1,2,3]
→[0,0,0]
В следующих тестовых примерах используется следующая матрица:
1 2 0 4
2 3 0 2
[1,2,1,2]
→ [0,0]
[1,3,0,1]
→ [0,1]
[1,2,0,3]
→ [1,0]
[1,2,0,1]
→[1,1]
[30,31,0]
быть[1, 1, 1]
потому, что он покрытmax3
?0
и любое ложное вместо1
?)[x,31,z]
исключаетmax1
иmax2
потому, что они не позволяют 31 товарищам.Ответы:
APL (Dyalog Unicode) ,
53 байтаПопробуйте онлайн!
источник
∧.≤
^_^
>,<
@.@
Haskell,
2220 байтовВозвращает,
False
если законно, аTrue
если нет.Попробуйте онлайн!
Переключение True / False в качестве возвращаемых значений экономит 2 байта (спасибо @ user202729!). С
True
легальнымиmap.(and.).zipWith(<=)
(22 байта). Попробуйте онлайн!источник
Октава , 15 байт
Попробуйте онлайн!
Согласно комментарию Сундара, пропуск транспонирования экономит 2 байта.
источник
b
вектор-столбец вместо вектора строки (поскольку он просто указан в виде списка), сохраняя 2 байта: попробуйте онлайн!MATL , 3 байта
Попробуйте онлайн!
Принимает входную матрицу как транспонирование формата в вопросе (как разрешено OP), с одним столбцом на конфигурацию. Вывод логических 0 и 1 для false и true.
источник
R ,
323026 байтПопробуйте онлайн!
Принимает матрицу в транспонированном виде как
x
, тест конфигурации какy
. Возвращает вектор логических значений.Начальные -2 байта благодаря mnel, а далее -4 от JayCe.
источник
Желе , 3 байта
Попробуйте онлайн!
0
= True,1
= False.источник
<§
будет работать<§
это не совсем "правда-ложь", а скорее "ложь-правда", а это, к сожалению, не то, что требует задача.≥
.Ом v2 , 3 байта
Попробуйте онлайн!
Алгоритм: векторизация
>
(больше чем),Σ
сумма каждого,y
знак.источник
JavaScript (ES6), 38 байт
Принимает вход как
(matrix)(vector)
. Возвращает логический массив.Попробуйте онлайн!
источник
Haskell , 30 байт
Попробуйте онлайн!
источник
Сетчатка 0.8.2 , 57 байт
Попробуйте онлайн! Ссылка включает в себя тестовые случаи, но выходные данные запускаются вместе. Объяснение:
Преобразовать в одинарный.
Дайте каждой строке матрицы свою собственную копию списка.
Работать отдельно в каждой строке матрицы.
Повторно удаляйте последний номер строки и списка, в то время как последний номер строки, по крайней мере, такой же большой, как и в списке.
Затем в списке должен остаться один номер, а номер в строке должен быть как минимум таким же большим.
источник
Japt ,
65 байт-1 байт из @Shaggy
Попробуйте онлайн!
источник
VgY
->Vv
чтобы сохранить байт.Python 2 , 38 байт
Попробуйте онлайн!
источник
05AB1E , 5 байтов
Попробуйте онлайн или проверьте все тесты .
Объяснение:
К сожалению, 05AB1E v1 не имеет встроенной функции в 1 символ для
≤
или≥
, поэтому перед использованием я уменьшаю каждое значение›
. 05AB1E v2, которая в настоящее время находится в разработке, будет иметь эти встроенные функции.источник
Stax , 8 байт
Запустите и отладьте его
Объяснение:
источник
Брахилог , 14 байт
Попробуйте онлайн!
источник
Wolfram Language (Mathematica) , 18 байт
Возвращает список двух уникальных значений:
True
означает ложь,False
означает правдивость.Попробуйте онлайн!
источник