Sari la conținut
Zece la Info
Probleme

Introducerea de operatori intre cifre pentru a obtine un rezultat dat

Grea 2000 ms 64 MB#backtracking#expresii#combinatorica

Se citesc un sir de cifre (reprezentand un numar, ca text) si un numar intreg T. Generati, folosind metoda Backtracking, toate expresiile aritmetice corecte ce se pot obtine inserand operatorii +, - si * intre unele dintre cifrele sirului (fara a schimba ordinea cifrelor, si fara numere cu zero nesemnificativ la inceput), astfel incat valoarea expresiei (calculata respectand prioritatea inmultirii fata de adunare si scadere) sa fie exact T.

Date de intrare
Pe prima linie se citeste sirul de cifre. Pe a doua linie se citeste numarul intreg T.
Date de iesire
Se afiseaza toate expresiile obtinute a caror valoare este T, cate una pe linie, in ordinea in care sunt generate (incercand, la fiecare pozitie, toate lungimile posibile ale urmatorului termen, in ordine crescatoare, si pentru fiecare lungime operatorii in ordinea +, -, *).
Restrictii
1 <= lungimea sirului de cifre <= 6, -100000 <= T <= 100000

Exemple

Exemplul 1

Intrare

123
6

Iesire

1+2+3
1*2*3

Exemplul 2

Intrare

232
8

Iesire

2+3*2
2*3+2

Vrei să rezolvi problema?

Creează-ți un cont gratuit ca să scrii cod în editor, să trimiți soluții la evaluator și să vezi indicațiile.