Fişierul intrare/ieşire: | grid.in, grid.out | Sursă | FMI No Stress 5 |
Autor | Alex Palcuie | Adăugată de | |
Timp execuţie pe test | 0.3 sec | Limită de memorie | 20480 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
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 (X1,Y1) pe poziţia (X2,Y2). 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.
Să se afişeze configuraţia finală a widget-urilor după cele K operaţii.
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ă (X1, Y1) reprezintă poziţia pe care se află un widget, următoarele (X2, Y2) fiind poziţia pe care se va muta acel widget.
Date de ieşire
În fişierul de ieşire grid.out se va afişa configuraţia finală a grid-ului.
Restricţii
- 1 <= N <= 10.000
- 0 <= K <= 150.000
- 0 <= X1, X2 <= 2
- 0 <= Y1, Y2 <= N * 3
Exemplu
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 |