Leiten Sie einen Algorithmus zum Drucken einer Pyramide mit allen möglichen Kombinationen ab, so dass die hellste und kleinste Person auf der Pyramide und die schwerste und größte Person als Basis liegt
Zum Beispiel:
Person A 80 kg 140 cm
Person B 90 kg 150 cm
Person C 100 kg 160 cm
Person D 100kg 170 cm
Person E 150 kg 180 cm
Person F 160kg 185 cm
%Vor%Hinweis: Personen mit Größe und Gewicht, die größer sind als andere Personen, können nicht auf dieser Person liegen Es ist nicht mandtory für jede Person, um Teil der Pyramidenstruktur zu sein
Hier ist eine grobe Idee.
Konstruiere einen Graphen so, dass eine gerichtete Kante von Knoten X nach Y geht, wenn X > Y
(beide Komponenten) und es kein solches Z
, dass X > Z > Y
gibt, für dein Beispiel
Dann konstruiere alle Bäume der Höhe 1 und konstruiere den Rest rekursiv wie folgt:
Markiere alle benutzten Knoten im Baum (anfangs nur einen Knoten)
Um eine Person X
unter eine andere 2 Personen Y Z
zu setzen, können Sie nur Personen verwenden, die im Diagramm unter Y Z
Verwenden Sie alle Permutationen und rekursiv wiederholen, bis Sie nicht mehr
konstruieren könnenTags und Links algorithm