Diferențe pentru problema/pdm între reviziile #7 si #14

Diferențe între titluri:

pdm
Pdm

Diferențe între conținut:

== include(page="template/taskheader" task_id="pdm") ==
Se dă un produs matricial M = M1M2...Mn. Cum înmulțirea matricelor este asociativă, toate parantezările conduc la același rezultat. Însă, numărul total de înmulțiri scalare al produsului matricial poate să difere substanțial în funcție de ordinea efectuării calculelor, ordine dată de paranteze. Dimensiunile celor n matrici se dau sub forma unui șir d astfel încât perechea (di-1, di) reprezintă dimensiunile matricii Mi.
Se dă un produs matricial M = M1M2...Mn. În înmulțirea matricelor, se înmulțește fiecare linie din prima matrice cu fiecare coloană din a 2 - a matrice. Pentru ca această operație să fie posibilă, matricele trebuie să aibă o latură comună. Spre exemplu, prima matrice are a linii și b coloane, iar ce-a de a 2 - a are b linii și c coloane, iar matricea rezultată va avea a linii și c coloane. Numărul de înmulțiri elementare a celor 2 matrici de mai sus este a *b *c. Cum înmulțirea matricelor este asociativă, toate parantezările conduc la același rezultat. Însă, numărul total de înmulțiri scalare al produsului matricial poate să difere substanțial în funcție de ordinea efectuării calculelor, ordine dată de paranteze. Dimensiunile celor n matrici se dau sub forma unui șir d astfel încât perechea (di-1, di) reprezintă dimensiunile matricii Mi.
h2. Cerinta
În fișierul de ieșire $pdm.out$ se va găsi un singur număr natural egal cu valoarea minimă a numărului total de înmulțiri scalare a produsului matricial M și parantezarea optimă corespunzătoare acestuia.
Formatul afișării unei parantezări este următorul:
>dacă parantezarea conține un factor, se va afișa doar acesta
>dacă parantezarea conține doi factori, va fi pusă între paranteze, iar factorii ei afișați pe rând
 -dacă parantezarea conține un factor, se va afișa doar acesta
 -dacă parantezarea conține doi factori, va fi pusă între paranteze, iar factorii ei afișați pe rând
h2. Restricții
* $1 ≤ N ≤ 500$
* $0 ≤ d ≤ 1000$
* În cazul în care există mai multe soluții, de exemplu A și B, se va afișa parantezarea care ar realiza primele k înmulțiri între aceleași matrice , îar a k+1-a înmulțire in ordine inversa, la o matrice de ordin mai mic.
* În cazul în care există mai multe soluții, de exemplu A și B, se va afișa parantezarea care ar realiza primele k înmulțiri între aceleași matrice , îar a k+1-a înmulțire în ordine inversă, la o matrice de ordin mai mic. În alte cuvinte, dacă avem 3 matrice, iar variantele ((A*B)*C), (A*(B*C)) oferă aceeași soluție, se va alege prima variantă.
* Pentru afișarea corectă doar a numărului de înmulțiri scalare, se acordă 40% din punctaj.
h2. Exemplu

Nu există diferențe între securitate.