Atenţie! Aceasta este o versiune veche a paginii, scrisă la 2014-02-08 22:03:53.
Revizia anterioară   Revizia următoare  

 

Fişierul intrare/ieşire:memcpy.in, memcpy.outSursăAlgoritmiada 2014, Runda 2
AutorCosmin Silvestru NegruseriAdăugată deklamathixMihai Calancea klamathix
Timp execuţie pe test0.3 secLimită de memorie24096 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

Memcpy

Fie o matrice de dimensiuni 1000×1000 cu elemente distincte. Dorim ca în această matrice să copiem submatricea de dimensiuni N x M care are colţul stânga sus în (X, Y) peste submatricea de dimensiuni N x M care are colţul stânga sus în (NEW_X, NEW_Y). Este necesar ca acest lucru să se realizeze folosind N x M atribuiri de tipul A[x][y] = A[z][t]. Sa se determine ordinea minima lexicografica in care pot fi făcute aceste atribuiri pentru a copia corect submatricea?

Date de intrare

Fişierul de intrare memcpy.in va conţine pe o singură linie 6 numere: N, M, X, Y, NEW_X, NEW_Y. Acestea reprezintă dimensiunile submatricei, coordonatele colţului stânga sus pentru poziţia iniţială a submatricei, respectiv pentru poziţia finală.

Date de ieşire

În fişierul de ieşire memcpy.out ar trebui in mod normal sa contina NxM linii, fiecare conţinând câte o pereche de numere. Dacă linia i conţine perechea (ai, bi) atunci celula cu coordonatele (ai, bi) va fi copiată la momentul i. Se observă că destinaţia de copiere pentru această celulă este unică. În consecinţă, nu va fi specificată. Datorita numarului mare de afisari vom inlocui aceste numere cu un singur numar ca se va afla astfel: vom porni de la MOD = 1.000.000.007. Se va face suma din i * ai * bi si se va afisa aceasta valoare modulo MOD.

Restricţii

  • 1 ≤ N, M ≤ 1000
  • Toate coordonatele citite sau afişate se vor afla în intervalul [1, 1000].
  • Submatricele descrise în input vor fi incluse complet în matrice.

Exemplu

memcpy.inmemcpy.out
4 4 1 1 2 2
758

Explicaţie

...

Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?