== include(page="template/taskheader" task_id="adunscad") ==
Considerăm un număr întreg $N$ și un șir de $M$ cifre zecimale nenule. Să se determine dacă numărul $N$ poate fi rezultatul unei expresii aritmetice simple (fără paranteze), formată exclusiv din cifrele șirului citit și din operatorii aritmetici desemnați pentru operațiile de adunare și scădere ($+$, $-$).
Considerăm un număr întreg $*N*$ și un șir de $*M*$ cifre zecimale nenule. Să se determine dacă numărul $*N*$ poate fi rezultatul unei expresii aritmetice simple (fără paranteze), formată exclusiv din cifrele șirului citit și din operatorii aritmetici desemnați pentru operațiile de adunare și scădere (+, -).
h2. Cerință
Scrieți un program care citește numerele $N$ și $M$ de pe prima linie a fișierului de intrare și șirul de $M$ cifre de pe linia următoare și determină și afișează expresia găsită sau valoarea $0$ în cazul în care nu există soluție.
Scrieți un program care citește numerele $*N*$ și $*M*$ de pe prima linie a fișierului de intrare și șirul de $*M*$ cifre de pe linia următoare și determină și afișează expresia găsită sau valoarea $0$ în cazul în care nu există soluție.
h2. Date de intrare
Fișierul de intrare $adunscad.in$ conține pe prima linie numerele întregi $N$ [$M$], separate printr-un spațiu, reprezentând valoarea ce trebuie obținută la evaluarea expresiei și numărul de cifre din șir. Linia a doua a fișierului de intrare conține șirul celor $M$ cifre nenule, separate prin câte un spațiu.
Fișierul de intrare $adunscad.in$ conține pe prima linie numerele întregi $*N*$ [$*M*$], separate printr-un spațiu, reprezentând valoarea ce trebuie obținută la evaluarea expresiei și numărul de cifre din șir. Linia a doua a fișierului de intrare conține șirul celor $*M*$ cifre nenule, separate prin câte un spațiu.
h2. Date de ieșire
În fișierul de ieșire $adunscad.out$ va conține pe prima linie expresia determinată, în cazul în care există soluție, sau valoarea $0$ în cazul în care nu există soluție.
În fișierul de ieșire $adunscad.out$ va conține pe prima linie expresia determinată, în cazul în care există soluție, sau valoarea [*$0$ în cazul în care nu există soluție*].
h2. Restricții
* $-180 ≤ N ≤ 180$
* $2 ≤ M ≤ 20$
* $-180 ≤ *N* ≤ 180$
* $2 ≤ *M* ≤ 20$
* În șirul citit cifrele se pot repeta.
* Toate cifrele din șir trebuie să apară și în expresia aritmetică, în aceeași ordine în care au fost citite.
* În expresia aritmetică, orice cifră trebuie să fie precedată de un operator; în cazul în care prima cifră este precedată de operatorul $+$ acesta nu se pune în expresie. În expresia aritmetică nu există spații.
h2. Exemplu
table(example).
|_. adunscad.in |_. adunscad.out |
table(example).
|_. adunscad.in |_. adunscad.out |_. Explicație |
|21 4
3 9 1 8
|3+9+1+8|
|3+9+1+8
| Soluție corectă utilizând numai operatorul '+'
|
|-1 4
1 2 3 5
|-1+2+3-5|
|-1+2+3-5
| Soluție corectă. O altă soluție corectă este: -1-2-3+5
|
|-7 7
1 1 1 1 1 1 1
|-1-1-1-1-1-1-1|
|-1-1-1-1-1-1-1
| Soluție corectă utilizând numai operatorul '-'
|
|12 3
1 2 3
|0
| Nu există soluție
|
== include(page="template/taskfooter" task_id="adunscad") ==