Se dă un şir de k cifre (maxim 10) nenule şi un număr întreg N. Se poate obţine N din cele k cifre punând între ele operaţiile de adunare, scădere, înmulţire şi împărţire cu numere întregi? De exemplu, pentru şirul de numere 1 2 3 4 5 6 şi numărul N = 0, răspunsul este DA, se poate obţine: 6/2+1-3-5/4 = 3+1-3-1=0.
De remarcat că pentru exemplul anterior există 83754 soluţii.
Cerinţă
Fiind dat numărul N şi un şir de k cifre zecimale, să se determine o expresie aritmetică, formată din cele k cifre, a cărei evaluare va genera valoarea N. În expresia aritmetică pot fi folosiţi operatorii cu numere întregi +, -, *, / cu semnificaţia obişnuită dintr-un limbaj de programare. De asemenea, prioritatea operatorilor este cea cunoscută din matematică.
Date de intrare
De pe prima linie a fişierului de intrare operatii1.in se citeşte valoarea întreagă N şi valoarea naturală k. Acestea sunt separate printr-un singur spaţiu. Pe linia a doua a fişierului de intrare se găsesc cele k cifre separate prin câte un spaţiu.
Date de ieşire
Pe prima linie a fişierului de ieşire operatii1.out se va scrie o expresie aritmetică corectă care conţine cele k cifre şi cei k operatori. Dacă prima cifră este precedată, în expresie, de semnul '+', acesta NU va apărea în expresie.
Restricţii
se utilizează toate cele k <= 10 cifre
ordinea cifrelor în expresie nu contează
în şirul iniţial cifrele se pot repeta
operaţia de împărţire produce câtul împărţirii întregi
evaluarea expresiei se realizează de la stânga spre dreapta, efectuându-se mai întâi operaţiile de grad 2 (*, /), în ordinea în care apar în expresie, apoi, tot de la stânga spre dreapta, operaţiile de grad 1 (+, -), tot în ordinea în care apar în expresie
valoarea expresiei finale este in intervalul [-3486784401, 3486784401]
pentru datele de intrare există întotdeauna soluţie
expresia din fişierul de ieşire NU conţine spaţii
expresia se termină cu caracterul "sfârşit de linie" (ENTER)
Exemple
operatii1.in
operatii1.out
Explicaţii
0 6
1 2 3 4 5 6
6-1+4/5-2-3
Evaluare: 6-1+0-2-3 = 5+0-5 = 0
O altă soluţie este cea indicată în enunţ