Eu estava no ônibus hoje e notei este sinal:
seated standing wheelchairs
max1 37 30 00
max2 36 26 01
max3 34 32 00
O número de passageiros sentados, cadeiras de rodas e cadeiras de rodas não precisa ser maior que uma fila na tabela. (Consulte o bate-papo para obter detalhes.)
Para os propósitos deste desafio, generalizaremos esta ideia: Dada uma lista inteira não negativa de comprimento estritamente positivo N (número de tipos de passageiros) e uma matriz inteira não negativa de dimensões estritamente positivas (N colunas e uma linha por configuração , ou a transposição disso), retorne uma lista de índices / verdadeiras falsidades / dois valores exclusivos, indicando quais limites de configuração foram atendidos.
Por exemplo, com a matriz acima:
30,25,1
→ [1]
(indexado 0) [2]
(indexado 1) ou [false,true,false]
(booleano) ou ["Abe","Bob","Abe"]
(dois valores únicos) etc.
Os seguintes casos de teste usam a matriz acima e 0/1 para falso / verdadeiro:
[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]
Os seguintes casos de teste usam a seguinte 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á coberto por elemax3
?0
e qualquer um Falsas no lugar de1
?)[x,31,z]
excluimax1
emax2
porque eles não permitem 31 standees.Respostas:
APL (Dyalog Unicode) ,
53 bytesExperimente online!
fonte
∧.≤
^_^
>,<
@.@
Haskell,
2220 bytesRetorna
False
se for legal eTrue
se não for.Experimente online!
Virar Verdadeiro / Falso como valores de retorno economiza 2 bytes (obrigado @ user202729!). Com
True
para legal émap.(and.).zipWith(<=)
(22 bytes). Experimente online!fonte
Oitava , 15 bytes
Experimente online!
Conforme o comentário do sundar, omitir a transposição economiza 2 bytes.
fonte
b
vetor de coluna em vez de vetor de linha (já que é apenas especificado como uma lista), economizando 2 bytes: experimente online!MATL , 3 bytes
Experimente online!
Toma a matriz de entrada como uma transposição do formato na pergunta (conforme permitido pelo OP), com uma coluna por configuração. Emite booleano 0 e 1 para falso e verdadeiro.
fonte
R ,
323026 bytesExperimente online!
Aceita a matriz na forma transposta como
x
, teste de configuração comoy
. Retorna um vetor de booleanos.-2 bytes iniciais graças ao mnel, e mais -4 por JayCe.
fonte
Geléia , 3 bytes
Experimente online!
0
= Verdadeiro,1
= Falso.fonte
<§
iria trabalhar<§
não é exatamente "verdade-falsidade", mas sim "falsidade-verdade", que, infelizmente, não é o que o desafio pede.≥
.Ohm v2 , 3 bytes
Experimente online!
Algoritmo: vetorizado
>
(maior que),Σ
soma cada,y
sinal.fonte
JavaScript (ES6), 38 bytes
Toma entrada como
(matrix)(vector)
. Retorna uma matriz booleana.Experimente online!
fonte
Haskell , 30 bytes
Experimente online!
fonte
Retina 0.8.2 , 57 bytes
Experimente online! O link inclui casos de teste, mas a saída é executada em conjunto. Explicação:
Converta para unário.
Dê a cada linha da matriz sua própria cópia da lista.
Opere separadamente em cada linha da matriz.
Remova repetidamente o último número da linha e a lista enquanto o último número da linha for pelo menos tão grande quanto o da lista.
Deve haver um número na lista e o número na linha deve ser pelo menos tão grande quanto esse.
fonte
Japonês ,
65 bytes-1 bytes de @Shaggy
Experimente online!
fonte
VgY
->Vv
para salvar um byte.Python 2 , 38 bytes
Experimente online!
fonte
05AB1E , 5 bytes
Experimente online ou verifique todos os casos de teste .
Explicação:
Infelizmente, 05AB1E v1 não possui um caractere de 1 caractere para
≤
ou≥
, portanto, diminuo cada valor antes de usá-lo›
. O 05AB1E v2, atualmente em desenvolvimento, terá esses componentes internos.fonte
Stax , 8 bytes
Execute e depure
Explicação:
fonte
Braquilog , 14 bytes
Experimente online!
fonte
Wolfram Language (Mathematica) , 18 bytes
Retorna uma lista de dois valores exclusivos:
True
significa falso,False
significa verdade.Experimente online!
fonte