Problema
penala
|
100 puncte
|
Deoarece a
mancat prea multe bomboane, Algorel a inceput sa se joace cu ele. El este in
posesia a N2
bomboane pe care le aseaza astfel incat ele formeaza o matrice de dimensiuni NxN. Dupa ce le-a asezat, el se
uita mandru la ele si apoi incepe sa schimbe asezarea dupa urmatoarea regula: mai
intai stabileste o ordine a bomboanelor pornind din coltul stanga sus al
matricii; apoi le dispune, in ordinea stabilita, intr-o noua matrice completand
prima linie de la stanga la dreapta, apoi a doua linie de la stanga la dreapta,
s.a.m.d. (vezi desenul de mai jos)
1
|
2
|
3
|
4
|
12
|
13
|
14
|
5
|
11
|
16
|
15
|
6
|
10
|
9
|
8
|
7
|
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
10
|
11
|
12
|
13
|
14
|
15
|
16
|
|
P dintre cele N2 bomboane sunt mai
speciale: contin alcool. Parintii lui Algorel stiu pozitia initiala a fiecarei
bomboane speciale si cate operatii a efectuat acesta. Pentru al supraveghea cat
mai atent, ei vor sa stie pozitia fiecarei bomboane speciale dupa fiecare
operatie efectuata de Algorel.
Date de intrare
Prima linie a fisierului penal.in se afla 3 numere naturale N M P - N e latura matricii de bomboane a lui Algorel, M e numarul de operatii efectuate
de acesta si P este
numarul de bomboane speciale. A doua linie contine P perechi de numere naturale separate prin spatii ce
reprezinta pozitiile initiale ale bomboanelor speciale.
Date de iesire
Fisierul de iesire penal.out va avea M linii, fiecare continand P perechi de numere naturale
separate prin spatii reprezentand pozitiile bomboanelor speciale dupa fiecare
operatie. Ordinea bomboanelor pe fiecare linie trebuie sa fie aceeasi ca si in
fisierul de intrare.
Restrictii si precizari:
- 1 <= N <= 40000
- 1 <= P <= min(100, N2)
- 1 <= M <= 1000
- Pentru 30% din teste N<=50. Pentru 60% dintre ele N<=1000.
- Pozitiile bomboanelor speciale sunt
valide. Nu exista doua bomboane speciale cu aceeasi pozitie.
penal.in
|
penal.out
|
3 2 3
1 1 2 3 3 2
|
1 1 2 1 2 3
1 1 3 2 2 1
|