Alice und Bob spielen ein kleines Spiel. Zuerst zeichnen sie einen Baum von einem Wurzelknoten (angezeigt durch einen dicken Punkt) ohne interne Knoten mit Zahlen an den Blättern. Jeder Knoten kann eine beliebige Anzahl von untergeordneten Knoten haben.
Wir beginnen an der Wurzel und spielen zuerst Alice (A). Sie muss eines der untergeordneten Elemente des aktuellen Knotens auswählen. Dann ist Bob an der Reihe und wählt auf ähnliche Weise einen untergeordneten Knoten aus. Dies wird fortgesetzt, bis ein Blattknoten erreicht ist.
Wenn ein Blattknoten erreicht ist, ist das Spiel beendet. Es ist Alices Ziel, an einem Knoten mit einem möglichst großen Wert zu enden, und Bobs Ziel, an einem Knoten mit einem möglichst kleinen Wert zu enden.
Geben Sie bei einem Baum in Form eines verschachtelten Arrays den Wert des Blatts zurück, der erreicht wird, wenn sowohl Alice als auch Bob perfekt spielen.
Beispiele:
18: [[67, [[100, [[67, 47], [86], 21, 16], [[46, [14], 35, 85], [71, [18, 63, 69], 99, 22], 3]]], [[18, 32, 42, 80]], [[36, 70], [86, 53, 46, 59], [[41], 86, 35]]], 3]
60: [[[84, 35], [44, 60]], [[24, 98], [16, 21]]]
58: [[53, 77], [58, [82, 41]], 52]
59: [[93, [100, 53], 58, 79], [63, 94, 59], [9, [55, 48]], [40, 10, 32]]
56: [[20, 10, [[[89, 22, 77, 10], 55], [24, 28, 30, 63]]], [[49, 31]], 17, 56]
0: [0]
Sie können davon ausgehen, dass der Stammknoten niemals ein Blattknoten ist und auf mindestens einen Blattknoten verweist. Sie können davon ausgehen, dass Blätter nichtnegative Zahlen sind.
Kürzester Code in Bytes gewinnt.