Hoy estaba en el autobús y noté esta señal:
seated standing wheelchairs
max1 37 30 00
max2 36 26 01
max3 34 32 00
El número de pasajeros sentados, personas de pie y sillas de ruedas no debe ser mayor que una fila en la mesa. (Ver chat para más detalles).
Para los propósitos de este desafío, generalizaremos esta idea: dada una lista entera no negativa de una longitud estrictamente positiva N (número de tipos de pasajeros) y una matriz entera no negativa de dimensiones estrictamente positivas (N columnas y una fila por configuración , o la transposición de esto), devuelve una lista de índices / verdades-falsas / dos valores únicos que indican qué límites de configuración se cumplen.
Por ejemplo, con la matriz anterior:
30,25,1
→ [1]
(0 indexado) [2]
(1 indexado) o [false,true,false]
(booleano) o ["Abe","Bob","Abe"]
(dos valores únicos), etc.
Los siguientes casos de prueba usan la matriz anterior y el 0/1 para falso / verdadero:
[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]
Los siguientes casos de prueba usan la siguiente matriz:
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]
ser[1, 1, 1]
porque está cubierto pormax3
?0
y otro falso en lugar de1
?)[x,31,z]
descartamax1
ymax2
porque no permiten 31 standees.Respuestas:
APL (Dyalog Unicode) ,
53 bytesPruébalo en línea!
fuente
∧.≤
^_^
>,<
@.@
Haskell,
2220 bytesDevoluciones
False
si es legal yTrue
si no.Pruébalo en línea!
Voltear verdadero / falso como valores de retorno ahorra 2 bytes (¡gracias @ user202729!). Con
True
para legal esmap.(and.).zipWith(<=)
(22 bytes). Pruébalo en línea!fuente
Octava , 15 bytes
Pruébalo en línea!
Según el comentario de sundar, omitir la transposición ahorra 2 bytes.
fuente
b
como un vector de columna en lugar de un vector de fila (ya que solo se especifica como una lista), ahorrando 2 bytes: ¡ Pruébelo en línea!MATL , 3 bytes
Pruébalo en línea!
Toma la matriz de entrada como una transposición del formato en la pregunta (según lo permitido por OP), con una columna por configuración. Salidas booleanas 0 y 1 para falso y verdadero.
fuente
R ,
323026 bytesPruébalo en línea!
Acepta la matriz en forma transpuesta como
x
, prueba config comoy
. Devuelve un vector de booleanos.-2 bytes iniciales gracias a mnel, y luego -4 por JayCe.
fuente
Jalea , 3 bytes
Pruébalo en línea!
0
= Cierto,1
= Falso.fuente
<§
funcionaría<§
no es exactamente "verdadero-falso" sino más bien "falso-verdadero", que, desafortunadamente, no es lo que el desafío pide.≥
.Ohm v2 , 3 bytes
Pruébalo en línea!
Algoritmo: vectorizado
>
(mayor que),Σ
suma cada uno,y
signo.fuente
JavaScript (ES6), 38 bytes
Toma entrada como
(matrix)(vector)
. Devuelve una matriz booleana.Pruébalo en línea!
fuente
Haskell , 30 bytes
Pruébalo en línea!
fuente
Retina 0.8.2 , 57 bytes
Pruébalo en línea! El enlace incluye casos de prueba, pero la salida se ejecuta en conjunto. Explicación:
Convierte a unario.
Dé a cada fila de la matriz su propia copia de la lista.
Opere por separado en cada fila de la matriz.
Elimine repetidamente el último número de la fila y la lista, mientras que el último número de la fila es al menos tan grande como el de la lista.
Entonces debería quedar un número en la lista y el número en la fila debería ser al menos tan grande como ese.
fuente
Japt ,
65 bytes-1 bytes de @Shaggy
Pruébalo en línea!
fuente
VgY
->Vv
para guardar un byte.Python 2 , 38 bytes
Pruébalo en línea!
fuente
05AB1E , 5 bytes
Pruébelo en línea o verifique todos los casos de prueba .
Explicación:
Desafortunadamente, 05AB1E v1 no tiene un 1-char incorporado para
≤
o≥
, por lo que disminuyo cada valor antes de usarlo›
. 05AB1E v2 que está actualmente en desarrollo tendrá estos componentes incorporados.fuente
Stax , 8 bytes
Ejecutar y depurarlo
Explicación:
fuente
Brachylog , 14 bytes
Pruébalo en línea!
fuente
Wolfram Language (Mathematica) , 18 bytes
Devuelve una lista de dos valores únicos:
True
significa falso,False
significa verdadero.Pruébalo en línea!
fuente