(Hoffentlich ist es immer noch Thanksgiving für dich)
Sie haben einen Truthahn für Ihr Thanksgiving-Abendessen, wissen aber nicht, wie Sie ihn gleichmäßig verteilen sollen. Das Problem ist, dass manche Menschen mehr essen als andere, daher müssen Sie eine Lösung finden
Eingang
Es gibt zwei Eingänge. Die erste wird eine ASCII-Kunst verschiedener Menschen sein.
o
o \|/
\|/ |
| |
/ \ / \
ASCII-Art Spezifikationen
Jede Person nimmt eine Breite von 3 Spalten ein. Jede Person ist durch eine einzelne Spalte von Leerzeichen getrennt. Die Spitze jeder Person ist eine o. Unterhalb der odurch Offset 1und -1in der x, \und /sind. Von der obis zur vorletzten Zeile in der Eingabe |ist die Menge dieser pro Person ihre "Größe". Die einzigen Daten, die Sie von jeder Person extrahieren müssen, sind ihre "Größe".
Es wird immer mindestens eine Person geben. Jede Person hat immer mindestens 2 Körpergröße. Die maximale Höhe, die Ihr Programm verarbeiten sollte, beträgt mindestens 64.
Wenn Sie möchten, dass die mit Leerzeichen aufgefüllte Eingabe ein Rechteck bildet, geben Sie dies bitte in Ihrer Antwort an.
Der zweite Eingang ist der Truthahn. Der Truthahn ist nicht wirklich ein Truthahn, eher die NxMDimensionen eines Truthahns. Wenn der zweite Eingang ist 3x2, hat der Truthahn Abmessungen von 3 * 2 mit einer Gesamtfläche von 6.
Ausgabe
Die Ausgabe kann eine Liste oder die nächstgelegene Alternative Ihrer Sprache sein (z. B. Array). Sie können auch eine Zeichenfolge ausgeben, deren Werte durch Leerzeichen getrennt sind.
Die Werte für jede Person sollten in der Reihenfolge ausgegeben werden, in der sie eingegeben wurden.
Herausforderung
Ihr Ziel ist es, den Bereich der Türkei unter den Menschen aufzuteilen.
Ein Beispielszenario:
Angenommen , es sind zwei Menschen, mit Höhen von 3und 6verbunden. Wenn es einen Truthahn von gibt 5x3. Die Gesamtfläche des Truthahns, die verteilt werden muss, beträgt 15.
Wie würden Sie es nun unter allen verteilen? Hier ist wie:
the_persons_height
TurkeyForAPerson = -------------------- * turkey_area
sum_of_all_heights
Das bedeutet, dass für die erste Person mit einer Höhe von 3, werden sie bekommen 3/9*15Truthahn, oder 5, die zweite Person mit einer Höhe von 6sie bekommen 6/9*15oder 10Truthahn.
Ausgabe
Die Ausgabe muss ausschließlich aus Ziffern bestehen, und es .sei denn, Sie entscheiden sich für den Bonus. In diesem Fall darf es nur aus Ziffern, Leerzeichen ( ) und einem Schrägstrich ( /) bestehen.
Vollständiges Beispiel
Eingang:
6x5
o
|
o \|/
\|/ |
| |
| |
/ \ / \
Ausgabe:
11.25 18.75
Boni
-20% Bonus: Sie geben einen Bruch aus (muss vereinfacht werden), es spielt keine Rolle, ob es sich um einen gemischten oder einen falschen Bruch handelt.
Wertung
Dies ist Code-Golf, also gewinnt der kürzeste Code in Bytes!
