== include(page="template/taskheader" task_id="grid") ==
Bufniţa Owly vrea să fie intern la un startup, iar inginerii de acolo i-au dat o problemă de rezolvat la interviu. Primeşti un grid cu $3$ rânduri şi $N$ elemente pe fiecare rând. Apoi ai $K$ operaţii de tipul "mută" widgetul cu numărul $W$ de pe poziţia (X{~1~},Y{~1~}) pe poziţia (X{~2~},Y{~2~}). La fiecare mutare, toate widgeturile care erau la dreapta poziţiei iniţiale în grid sunt deplasate la stânga cu o unitate, iar widgeturile care sunt la dreapta în noua poziţie sunt deplasate în dreapta cu o unitate.
Pentru a vizualiza mai bine operaţia de mutare a unui widget, vă oferim următoarea "pagină de test":http://palcu.github.io/grid/.
Să se afişeze configuraţia finală a widget-urilor după cele $K$ operaţii.
Poveste şi cerinţă...
h2. Date de intrare
Fişierul $grid.in$ va conţine pe prima linie două numere $N$ şi $K$. $N$ reprezintă numărul de widget-uri care se află iniţial pe fiecare rând. $K$ reprezintă numărul de mutări care se execută. Pe următoarele $K$ linii, se vor afla patru numere, primele două (X{~1~}, Y{~1~}) reprezintă poziţia pe care se află un widget, următoarele (X{~2~}, Y{~2~}) fiind poziţia pe care se va muta acel widget.
Fişierul de intrare $grid.in$ ...
h2. Date de ieşire
În fişierul de ieşire $grid.out$ se va afişa configuraţia finală a grid-ului.
În fişierul de ieşire $grid.out$ ...
h2. Restricţii
* $1 <= N <= 10.000$
* $0 <= K <= 150.000$
* $0 <= X{~1~}, X{~2~} <= 2$
* $0 <= Y{~1~}, Y{~2~} <= N * 3$
* $... ≤ ... ≤ ...$
h2. Exemplu
table(example). |_. grid.in |_. grid.out |
| 4 0
| 1 2 3 4
5 6 7 8
9 10 11 12 |
| 4 1
2 3 0 0
| 12 1 2 3 4
5 6 7 8
9 10 11
|
| This is some
text written on
multiple lines.
| This is another
text written on
multiple lines.
|
h3. Explicaţie
...
== include(page="template/taskfooter" task_id="grid") ==
== include(page="template/taskfooter" task_id="grid") ==