Disclaimer: No, questa non è una sfida scherzosa per invertire una stringa.
Compito
C'è solo una operazione da supportare: sottrazione ( -).
Hai anche solo due atomi da supportare: zero ( 0) e uno ( 1).
Qui, la notazione del prefisso -ABequivale alla notazione postfissa AB-, dove Ae Bsono espressioni.
Il tuo compito è convertire (ricorsivamente) un'espressione in notazione prefissata nel suo equivalente in notazione postfissa.
definizioni
Un'espressione in notazione con prefisso viene generata dalla seguente grammatica:
S > -SS
S > 0
S > 1
Un'espressione nella notazione postfix viene generata dalla seguente grammatica:
S > SS-
S > 0
S > 1
Esempio
Prefix notation: --01-0-01
Parentheses: -(-01)(-0(-01))
Convert: (01-)(0(01-)-)-
Postfix notation: 01-001---
Regole e libertà
- È possibile rinominare l'operazione e gli atomi in qualunque carattere, purché sia coerente.
- Il formato di input deve essere coerente con il formato di output (a parte il fatto che l'input è in notazione prefisso e l'output è in notazione postfix).
testcase
Input Output
1 1
0 0
-01 01-
-10 10-
--01-0-01 01-001---
Mette alla prova i crediti a Dada .