Ihre Aufgabe ist es, zwei einfachvariable ganzzahlige Polynomausdrücke zu nehmen und sie mit ihrer nicht vereinfachten Haupterweiterung von links nach rechts (AKA FOIL im Fall von Binomen) zu multiplizieren . Kombinieren Sie keine ähnlichen Begriffe und ordnen Sie das Ergebnis nicht neu an. Um die Erweiterung genauer zu beschreiben, multiplizieren Sie den ersten Term im ersten Ausdruck nacheinander mit jedem Term im zweiten und fahren Sie mit dem ersten Ausdruck fort, bis alle Terms mit allen anderen Terms multipliziert wurden. Ausdrücke werden in einer vereinfachten LaTeX-Variante angegeben.
Jeder Ausdruck ist eine Folge von Begriffen, die durch +
(mit genau einem Leerzeichen auf jeder Seite) getrennt sind. Jeder Ausdruck entspricht dem folgenden regulären Ausdruck: (PCRE-Notation)
-?\d+x\^\d+
Im Klartext ist der Begriff ein optionales Anführungszeichen, -
gefolgt von einer oder mehreren Ziffern, gefolgt von x
einer nichtnegativen ganzzahligen Potenz (mit ^
).
Ein Beispiel für einen vollständigen Ausdruck:
6x^3 + 1337x^2 + -4x^1 + 2x^0
Bei Anschluss an LaTeX erhalten Sie
Die Ausgabe sollte ebenfalls diesem Format entsprechen.
Da Exponenten in diesem Format nicht in Klammern eingeschlossen sind, gibt LaTeX mehrstellige Exponenten falsch wieder. (z. B. 4x^3 + -2x^14 + 54x^28 + -4x^5
Rendert als ) Sie müssen dies nicht berücksichtigen und sollten die Klammern nicht in Ihre Ausgabe aufnehmen.
Beispiel Testfälle
5x^4
3x^23
15x^27
6x^2 + 7x^1 + -2x^0
1x^2 + -2x^3
6x^4 + -12x^5 + 7x^3 + -14x^4 + -2x^2 + 4x^3
3x^1 + 5x^2 + 2x^4 + 3x^0
3x^0
9x^1 + 15x^2 + 6x^4 + 9x^0
4x^3 + -2x^14 + 54x^28 + -4x^5
-0x^7
0x^10 + 0x^21 + 0x^35 + 0x^12
4x^3 + -2x^4 + 0x^255 + -4x^5
-3x^4 + 2x^2
-12x^7 + 8x^5 + 6x^8 + -4x^6 + 0x^259 + 0x^257 + 12x^9 + -8x^7
Regeln und Annahmen
- Sie können davon ausgehen, dass alle Eingaben genau diesem Format entsprechen. Das Verhalten für jedes andere Format ist für die Zwecke dieser Herausforderung nicht definiert.
- Es ist zu beachten, dass jede Methode zur Aufnahme der beiden Polynome gültig ist, vorausgesetzt, beide werden als Zeichenfolgen eingelesen, die dem obigen Format entsprechen.
- Die Reihenfolge der Polynome ist aufgrund der erwarteten Reihenfolge der Produkterweiterung von Bedeutung.
- Sie müssen Eingabekoeffizienten zwischen und und Eingabeexponenten bis zu .
- Ausgangskoeffizienten zwischen und und Exponenten bis müssen daher unterstützt werden.
- Sie können davon ausgehen, dass jedes Eingabepolynom nicht mehr als 16 Terme enthält
- Daher müssen Sie (mindestens) bis zu 256 Terme in der Ausgabe unterstützen
- Terme mit Koeffizienten Null sollten so belassen werden, wie sie sind, wobei Exponenten richtig kombiniert werden
- Negative Null ist in der Eingabe zulässig, aber semantisch nicht von positiver Null zu unterscheiden. Immer positive Null ausgeben. Lassen Sie keine Nullterme aus.
Viel Spaß beim Golfen! Viel Glück!