Ich war heute im Bus und habe folgendes Zeichen bemerkt:
seated standing wheelchairs
max1 37 30 00
max2 36 26 01
max3 34 32 00
Die Anzahl der sitzenden Passagiere, der stehenden Personen und der Rollstühle darf nicht größer sein als eine Reihe in der Tabelle. (Siehe Chat für Details.)
Für die Zwecke dieser Herausforderung verallgemeinern wir diese Idee: Geben Sie eine nicht negative Ganzzahlliste mit einer streng positiven Länge N (Anzahl der Passagiertypen) und eine nicht negative Ganzzahlmatrix mit streng positiven Dimensionen (N Spalten und eine Zeile pro Konfiguration) an , oder die Transponierung davon), gibt eine Liste von Indizes / Wahrheitsfehlern / zwei eindeutigen Werten zurück, die angibt, welche Konfigurationsgrenzen erfüllt sind.
ZB mit der obigen Matrix:
30,25,1
→ [1]
(0-indiziert) [2]
(1-indiziert) oder [false,true,false]
(Boolean) oder ["Abe","Bob","Abe"]
(zwei eindeutige Werte) usw.
Die folgenden Testfälle verwenden die obige Matrix und die 0/1 für falsch / wahr:
[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]
Die folgenden Testfälle verwenden die folgende Matrix:
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]
daran liegen,[1, 1, 1]
dass sie von abgedeckt wirdmax3
?0
und irgendein falscher anstelle von1
?)[x,31,z]
ausmax1
undmax2
weil sie 31 standees nicht zulassen.Antworten:
APL (Dyalog Unicode) ,
53 BytesProbieren Sie es online!
quelle
∧.≤
^_^
>,<
@.@
Haskell,
22 bis20 BytesGibt zurück,
False
wenn legal undTrue
wenn nicht.Probieren Sie es online!
Durch Umkehren von True / False als Rückgabewert werden 2 Byte gespart (danke @ user202729!). Mit
True
für legal ist esmap.(and.).zipWith(<=)
(22 Bytes). Probieren Sie es online!quelle
Oktave , 15 Bytes
Probieren Sie es online!
Laut Sundars Kommentar werden durch Weglassen der Transponierung 2 Bytes gespart.
quelle
b
statt eines Zeilenvektors auch einen Spaltenvektor verwenden (da dieser nur als Liste angegeben ist), wodurch 2 Byte gespart werden: Probieren Sie es online aus!MATL , 3 Bytes
Probieren Sie es online!
Nimmt die Eingabematrix als eine Transponierte des Formats in der Frage (wie von OP zugelassen) mit einer Spalte pro Konfiguration. Gibt den booleschen Wert 0 und 1 für false und true aus.
quelle
R ,
323026 BytesProbieren Sie es online!
Akzeptiert die Matrix transponiert als
x
, test config alsy
. Gibt einen Vektor von Booleschen Werten zurück.Anfängliche -2 Bytes dank mnel und weitere -4 von JayCe.
quelle
Gelee , 3 Bytes
Probieren Sie es online!
0
= Richtig,1
= Falsch.quelle
<§
würde funktionieren<§
es nicht genau "wahrheitsgemäß", sondern "falsch-wahrheitsgemäß", was leider nicht das ist, wonach die Herausforderung verlangt.≥
.Ohm v2 , 3 Bytes
Probieren Sie es online!
Algorithmus: vektorisiert
>
(größer als), jeweilsΣ
summieren,y
Vorzeichen.quelle
JavaScript (ES6), 38 Byte
Übernimmt die Eingabe als
(matrix)(vector)
. Gibt ein boolesches Array zurück.Probieren Sie es online!
quelle
Haskell , 30 Bytes
Probieren Sie es online!
quelle
Retina 0.8.2 , 57 Bytes
Probieren Sie es online! Link enthält Testfälle, aber die Ausgabe wird alle zusammen ausgeführt. Erläuterung:
In Unary konvertieren.
Geben Sie jeder Zeile der Matrix eine eigene Kopie der Liste.
Bedienen Sie jede Zeile der Matrix separat.
Entfernen Sie wiederholt die letzte Nummer der Zeile und Liste, während die letzte Nummer der Zeile mindestens so groß wie die der Liste ist.
In der Liste sollte dann noch eine Nummer übrig sein, und die Nummer in der Reihe sollte mindestens so groß sein.
quelle
Japt ,
65 Bytes-1 Bytes von @Shaggy
Probieren Sie es online!
quelle
VgY
->Vv
um ein Byte zu speichern.Python 2 , 38 Bytes
Probieren Sie es online!
quelle
05AB1E , 5 Bytes
Probieren Sie es online aus oder überprüfen Sie alle Testfälle .
Erläuterung:
Leider verfügt 05AB1E v1 nicht über ein eingebautes 1-Zeichen für
≤
oder≥
, daher verringere ich jeden Wert stattdessen, bevor ich ihn verwende›
. 05AB1E v2, das sich derzeit in der Entwicklung befindet, wird über diese integrierten Funktionen verfügen.quelle
Stax , 8 Bytes
Führen Sie es aus und debuggen Sie es
Erläuterung:
quelle
Brachylog , 14 Bytes
Probieren Sie es online!
quelle
Wolfram Language (Mathematica) , 18 Byte
Gibt eine Liste mit zwei eindeutigen Werten zurück:
True
bedeutet falsch,False
bedeutet wahr.Probieren Sie es online!
quelle