joc

Time limit: 0.05s Memory limit: 4MB Input: joc.in Output: joc.out

Fie o matrice lidoriană de xx linii şi yy coloane. Liniile matricei se numerotează de jos în sus, cu numere de la 00 la x1x-1. Coloanele matricei se numerotează de la dreapta la stânga, cu numere de la 00 la y1y-1. Matricea lidoriană este formată doar din valori 11 şi 00.

Pentru fiecare linie ii, se calculează slisl_i ca suma tuturor produselor dintre a(i,j)a(i,j) şi 2j2^j. Pentru fiecare coloană kk, se calculează scksc_k ca suma tuturor produselor dintre a(i,k)a(i,k) şi 2i2^i.

Fie S1S_1 suma tuturor sumelor calculate pe linii şi fie S2S_2 suma tuturor sumelor calculate pe coloane. S1S_1 = Sl0Sl_0 + Sl1Sl_1 + Sl2Sl_2; S2S_2 = Sc0Sc_0 + Sc1Sc_1 + Sc2Sc_2 + Sc3Sc_3 Considerăm tt = S1S_1 + S2S_2. Se înţelege prin „mutare” o interschimbare între oricare două valori 11 şi 00 din matrice. Jocul lidorian presupune executarea unui număr minim de mutări, astfel încât valoarea lui tt să fie minimă.

Cerinţă

Să se scrie un program care să permită calcularea valorii minime a lui tt. Pentru această valoare a lui tt, se cere să se determine numărul minim de mutări necesare.

Date de intrare

Fişierul de intrare joc.in conţine în ordine, pe linii:

  • xx, yy număr de linii,număr de coloane despărţite printr-un spaţiu
  • ax1,y1a_{x-1,y-1}; ax1,y2a_{x-1,y-2}; \dots; ax1,0a_{x-1,0} elementele liniei x1x-1, fără spaţii între ele
  • ax2,y1a_{x-2,y-1}; ax2,y2a_{x-2,y-2}; \dots; ax2,0a_{x-2,0} elementele liniei x2x-2, fără spaţii între ele
  • \dots
  • a0,y1a_{0,y-1}; a0,y2a_{0,y-2}; \dots; a0,0a_{0,0} elementele liniei 00, fără spaţii între ele

Date de ieșire

Fişierul joc.out conţine, în ordine, pe prima linie, valoarea tt, apoi numărul minim de mutări, cu un singur spaţiu între ele.

Restricții și precizări

  • 2x,y122 \leq x, y \leq 12;
  • matricea conţine cel puţin o cifră de 11

Exemplu

joc.in

5 6 
100010
010000
000001
000010
011000 

joc.out

28 5

Explicație

Log in or sign up to be able to send submissions!