Il tuo compito è prendere due espressioni polinomiali a numero intero a variabile singola e moltiplicarle nella loro espansione da sinistra a destra non semplificata del primo termine (AKA FOIL nel caso dei binomi). Non combinare termini simili o riordinare il risultato. Per essere più espliciti sull'espansione, moltiplica il primo termine nella prima espressione per ciascun termine nel secondo, in ordine, e continua nella prima espressione fino a quando tutti i termini non sono stati moltiplicati per tutti gli altri termini. Le espressioni verranno fornite in una variante LaTeX semplificata.
Ogni espressione sarà una sequenza di termini separati da +(con esattamente uno spazio su ciascun lato) Ogni termine sarà conforme alla seguente espressione regolare: (notazione PCRE)
-?\d+x\^\d+
In parole povere, il termine è un carattere facoltativo -seguito da una o più cifre seguite da xe un potere intero non negativo (con ^)
Un esempio di espressione completa:
6x^3 + 1337x^2 + -4x^1 + 2x^0
Se collegato a LaTeX, si ottengono
Anche l'output dovrebbe essere conforme a questo formato.
Poiché le parentesi non racchiudono esponenti in questo formato, LaTeX visualizzerà in modo errato esponenti a più cifre. (ad es. 4x^3 + -2x^14 + 54x^28 + -4x^5rendering come ) Non è necessario tener conto di ciò e non è necessario includere le parentesi nell'output.
Esempi di casi di test
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
Regole e presupposti
- Si può presumere che tutti gli input siano conformi a questo formato esatto. Il comportamento per qualsiasi altro formato non è definito ai fini di questa sfida.
- Va notato che qualsiasi metodo di acquisizione dei due polinomi è valido, a condizione che entrambi siano letti come stringhe conformi al formato sopra.
- L'ordine dei polinomi è importante a causa dell'ordine previsto dell'espansione del prodotto.
- È necessario supportare coefficienti di input tra e e input esponenti fino a .
- Pertanto , devono essere supportati coefficienti di output tra e ed esponenti fino a .
- Puoi assumere che ogni polinomio di input contenga non più di 16 termini
- Pertanto, è necessario (almeno) supportare fino a 256 termini nell'output
- I termini con coefficienti zero dovrebbero essere lasciati così come sono, con gli esponenti che devono essere combinati correttamente
- Lo zero negativo è consentito nell'input, ma è indistinguibile da zero positivo semanticamente. Emette sempre zero positivo. Non omettere zero termini.
Buon golf! In bocca al lupo!