Diferente pentru problema/memcpy intre reviziile #1 si #23

Diferente intre titluri:

memcpy
Memcpy

Diferente intre continut:

== include(page="template/taskheader" task_id="memcpy") ==
Poveste şi cerinţă...
Fie o matrice de dimensiuni $1000x1000$ 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]$. Să se determine ordinea minima lexicografica in care pot fi făcute aceste atribuiri pentru a copia corect submatricea.
h2. Date de intrare
Fişierul de intrare $memcpy.in$ ...
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ă.
h2. Date de ieşire
În fişierul de ieşire $memcpy.out$ ...
Fişierul de ieşire $memcpy.out$ va conţine o singură valoare naturală, $hash$, care va fi determinată în felul următor:
 
==code(cpp) |
 
int hash = 0, mod = 1e9 + 7;
for(int i = 1; i <= n * m; ++i) {
    hash += 1LL * i * raspuns[i].x * raspuns[i].y % mod;
    hash %= mod;
}
==
 
Unde $răspuns[i]$ conţine coordonatele celulei care va fi copiată în operaţia cu numărul $i$.
h2. Restricţii
* $... &le; ... &le; ...$
* $1 &le; N, M &le; 1000$
* $Toate coordonatele citite sau afişate se vor afla în intervalul [1, 1000].$
* $Submatricele descrise în input vor fi incluse complet în matrice.$
h2. Exemplu
table(example). |_. memcpy.in |_. memcpy.out |
| This is some
  text written on
  multiple lines.
| This is another
  text written on
  multiple lines.
|
|  4 4 1 1 2 2
| 858
|
h3. Explicaţie
...
 
Celulele vor fi copiate în această ordine: (1, 4); (2, 4); (1, 3); (3, 4); (2, 3); (1, 2); (4, 1); (4, 2); (3, 1); (4, 3); (3, 2); (2, 1); (4, 4); (3, 3); (2, 2); (1, 1).
== include(page="template/taskfooter" task_id="memcpy") ==

Nu exista diferente intre securitate.

Diferente intre topic forum:

 
9615