diff options
| author | schneefux <schneefux+commit@schneefux.xyz> | 2014-11-23 12:18:04 +0100 |
|---|---|---|
| committer | schneefux <schneefux+commit@schneefux.xyz> | 2014-11-23 12:18:04 +0100 |
| commit | 5d3189d7345dd3b26a5753a16020ed4f7df0c4b1 (patch) | |
| tree | 8b260aa3116d6a2cdf58950e332726a3678754d3 /doc/faehre_fuellen.md | |
| parent | c8aa48924b284512075432b042ca15c31394ed14 (diff) | |
| download | bwinf-33-5d3189d7345dd3b26a5753a16020ed4f7df0c4b1.tar.gz bwinf-33-5d3189d7345dd3b26a5753a16020ed4f7df0c4b1.zip | |
Verschieben aller Dateien in Unterordner
Diffstat (limited to 'doc/faehre_fuellen.md')
| -rw-r--r-- | doc/faehre_fuellen.md | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/doc/faehre_fuellen.md b/doc/faehre_fuellen.md new file mode 100644 index 0000000..125d5cd --- /dev/null +++ b/doc/faehre_fuellen.md @@ -0,0 +1,76 @@ +Fähre füllen +============ + +Die Lösung zu Fähre füllen beinhaltet wie gefordert zwei Strategien `strategie_a`, `strategie_b`. +Beide Funktionen nehmen eine Liste mit Autolängen als Eingabe und geben ein `dict` mit der Länge und Anzahl aller Autos zurück. Mit `print` wird angegeben, wo die Autos einsortiert werden. + +Strategie A +----------- + +Die Fahrzeuge werden möglichst weit links angeordnet. Am effizienten ist das bei einer Folge wie beispielsweise +``` +6, 6, 6, 15, 15, 15, ... +``` +da hierbei die meiste Anzahl an Fahrzeugen hineinpasst, verglichen mit B. + +Strategie B +----------- + +Die Fahrzeuge werden möglichst gleichmäßig auf die drei Spalten verteilt. Die Folge vom Beispiel in A) würde dazu führen, dass nur 3 Fahrzeuge (`6, 6, 6`) Platz hätten. In dem Beispiel +``` +8, 8, 8, 5, 5, 5, 5, 5, 5, ... +``` +werden für A) 8 Fahrzeuge eingeordnet und für B) 9. + +Beispiele +--------- + +``` +>>> # Optimales Beispiel für A +>>> import faehre_fuellen +>>> faehre_fuellen.strategie_a([15, 15, 15, 15, 15, 6, 6, 6]) +6 wurde eingeordnet in die Reihe 0 +6 wurde eingeordnet in die Reihe 0 +6 wurde eingeordnet in die Reihe 0 +15 wurde eingeordnet in die Reihe 1 +15 wurde eingeordnet in die Reihe 2 +Das Fahrzeug 15 hat nicht mehr gepasst +{'anzahl': [3, 1, 1], 'länge': [18, 15, 15]} +>>> faehre_fuellen.strategie_b([15, 15, 15, 15, 15, 6, 6, 6]) +6 wurde eingeordnet in Reihe 0 +6 wurde eingeordnet in Reihe 1 +6 wurde eingeordnet in Reihe 2 +Das Fahrzeug 15 hat nicht mehr gepasst +{'anzahl': [1, 1, 1], 'länge': [6, 6, 6]} +>>> +>>> # Optimales Beispiel für B +>>> faehre_fuellen.strategie_a([5, 5, 5, 5, 5, 5, 5, 8, 8, 8]) +... +Das Fahrzeug 5 hat nicht mehr gepasst +{'anzahl': [2, 3, 3], 'länge': [16, 18, 15]} +>>> faehre_fuellen.strategie_b([5, 5, 5, 5, 5, 5, 5, 8, 8, 8]) +... +Das Fahrzeug 5 hat nicht mehr gepasst +{'anzahl': [3, 3, 3], 'länge': [18, 18, 18]} +>>> +>>> +>>> # Gegebene Beispiele befinden sich in einer Liste `Beispiel` +>>> # (Die Ausgabe ist hier auf das Ergebnis beschränkt) +>>> faehre_fuellen.strategie_a(faehre_fuellen.Beispiel[0]) +{'anzahl': [3, 3, 1], 'länge': [18.47, 16.09, 9.12]} +>>> faehre_fuellen.strategie_b(faehre_fuellen.Beispiel[0]) +{'anzahl': [2, 3, 2], 'länge': [15.989999999999998, 19.2, 8.49]} +>>> # Beispiel 1: weder A) noch B) ist effizienter (jeweils 7 Fahrzeuge) +>>> +>>> faehre_fuellen.strategie_a(faehre_fuellen.Beispiel[1]) +{'anzahl': [2, 3, 3], 'länge': [19.92, 16.48, 11.69]} +>>> faehre_fuellen.strategie_b(faehre_fuellen.Beispiel[1]) +{'anzahl': [2, 3, 3], 'länge': [18.69, 18.04, 11.36]} +>>> # Beispiel 2: weder A) noch B) ist effizienter (jeweils 8 Fahrzeuge) +>>> +>>> faehre_fuellen.strategie_a(faehre_fuellen.Beispiel[2]) +{'anzahl': [5, 4, 3], 'länge': [18.91, 17.630000000000003, 12.780000000000001]} +>>> faehre_fuellen.strategie_b(faehre_fuellen.Beispiel[2]) +{'anzahl': [4, 4, 4], 'länge': [15.030000000000001, 16.86, 17.43]} +>>> # Beispiel 3: weder A) noch B) ist effizienter (jeweils 12 Fahrzeuge) +``` |
