ConcursC++17

adunscad

Considerăm un număr întreg NN și un șir de MM cifre zecimale nenule. Să se determine dacă numărul NN 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 (+,−+, -).

Cerință

Scrieți un program care citește numerele NN și MM de pe prima linie a fișierului de intrare și șirul de MM 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.

Date de intrare

Fișierul de intrare adunscad.in conține pe prima linie numerele întregi N MN \ 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 MM cifre nenule, separate prin câte un spațiu.

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 00 în cazul în care nu există soluție.

Restricții și precizări

  • −180≤N≤180-180 \leq N \leq 180;
  • 2≤M≤202 \leq M \leq 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.
  • În cazul în care soluția nu este unică se va afișa o soluție corectă.

Exemplul 1

adunscad.in

21 4
3 9 1 8

adunscad.out

3+9+1+8

Exemplul 2

adunscad.in

-1 4
1 2 3 5

adunscad.out

-1+2+3-5

Exemplul 3

adunscad.in

-7 7
1 1 1 1 1 1 1

adunscad.out

-1-1-1-1-1-1-1

Exemplul 4

adunscad.in

12 3
1 2 3

adunscad.out

0

Sursă și autori

OJI 2011, clasele 8. Marinel Șerban.

Enunț din Kilonova, sub licența CC-BY-NC-SA-4.0, conform politicii sursei. Adaptări de prezentare și tipografie. Exemplele, formulele și figurile originale sunt păstrate.

RÂNDUL TĂU

Trimite o soluție

Editor de cod

Setul original de teste și regulile de punctare sunt în curs de verificare. Trimiterea pentru evaluare va fi disponibilă după această verificare.

Se verifică autentificarea…

Un pas, apoi următorul.Înapoi sus ↑