Atenţie! Aceasta este o versiune veche a paginii, scrisă la 2008-04-05 13:36:24.
Revizia anterioară   Revizia următoare  

 

Fişierul intrare/ieşire:suma3.in, suma3.outSursăGrigore Moisil 2008, clasa a 9-a
AutorClara Ionescu, Csaba PatcasAdăugată defilipbFilip Cristian Buruiana filipb
Timp execuţie pe test0.15 secLimită de memorie4736 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

Suma3

Pe o foaie cu patratele avem delimitat un dreptunghi. Pe fiecare patratel din interiorul dreptunghiului delimitat este scris un singur numar natural. Exact jumatate din numere sunt egale cu 0, iar restul numerelor sunt distincte. Ne propunem sa cream un traseu pe caroiajul din interiorul dreptunghiului parcurgand toate numerele diferite de 0 astfel incat pe traseu fiecare numar sa apara o singura data. Parcurgerea numerelor se realizeaza trecand de la un numar la unul dintre numerele cu care se invecineaza in caroiaj pe linie, pe coloana sau pe diagonala. Definim suma traseului ca fiind egala cu suma produselor de forma k * ai,j, unde k este numarul de ordine al numarului in ordinea parcurgerii, iar ai,j este numarul curent in traseu.

Cerinta

Determinati traseul avand suma minima, precum si aceasta suma.

Date de intrare

Pe prima linie a fisierului de intrare suma3.in se afla doua numere naturale, M si N, reprezentand dimensiunile dreptunghiului (acesta va avea M linii si N coloane). Pe urmatoarele M linii sunt scrise cate N numere naturale separate prin cel putin un spatiu.

Date de iesire

Pe prima linie a fisierului de iesire suma3.out se va scrie un numar natural, reprezentand suma traseului minim. Pe a doua linie se va descrie traseul minim, adica toate numerele diferite de 0 din caroiaj, in ordinea in care au fost introduse in suma. Numerele se vor separa prin cel putin un spatiu.

Restrictii

  • 1 ≤ M, N ≤ 8
  • M * N va fi intotdeauna numar par
  • 0 ≤ nri,j ≤ 100, pentru orice i intre 1 si M, j intre 1 si N
  • Intotdeauna va fi posibil sa se parcurga toate numerele

Exemplu

suma3.insuma3.out
3 4
1 0 10 0
4 3 0 8
0 0 2 0
70
10 8 2 3 4 1

Explicatie

1 * 10 + 2 * 8 + 3 * 2 + 4 * 3 + 5 * 4 + 6 * 1 = 10 + 16 + 6 + 12 + 20 + 6 = 70.

Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?