Nu aveti permisiuni pentru a descarca fisierul grader_eval.cpp
Diferente pentru problema/memcpy intre reviziile #2 si #23
Nu exista diferente intre titluri.
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
* $... ≤ ... ≤ ...$
* $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.$
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