Revizia anterioară Revizia următoare
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 ca în exemplu. Apoi ai K operaţii de genul 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 poziţie, iar widgeturile care sunt la dreapta în noua poziţie sunt deplasate în dreapta cu o unitate. Să se afişeze la sfârşit configuraţia finală.
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 grid-ului.
Restricţii
- 1 <= N <= 10.000
- 0 <= K <= 30.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 3 3 0 0 | 12 1 2 3 4 5 6 7 8 9 10 11 |