Andrei este gata de o nouă zi de liceu. Înainte de a intra la ore, el îşi dă seama de faptul că a avut loc o rearanjare a claselor. Noua structură a liceului privită de sus în jos are forma unei matrici pătratice, cu linii şi coloane, fiecare pătrăţel reprezentând o clasă. Deoarece elevii nu au fost de acord cu noua aranjare a claselor (din motive bine cunoscute), mai nou, acolo vor învăţa furnici. Având în vedere rigorile impuse de liceu, Andrei primeşte de la conducerea şcolii o foaie sub formă de matrice în care pentru fiecare coordonată , unde este linia, iar coloana, este trecut , numărul de furnici care vor urma să înveţe în clasa de aceleaşi coordonate.
Cum furnicile doresc să afle cât mai mult despre noul lor liceu, iar lui Andrei îi este interzis să le comunice repartizarea în forma ei actuală, va trebui ca voi să ajutaţi furnicile în noul an şcolar!
Cerință
Problema este formată din cerinţe:
- Furnicile sunt impresionate de spirale, aşa că ele doresc să afişaţi numărul de furnici din fiecare clasă, având în vedere că parcurgerea lor se va face în spirală, începând de la coordonata şi prima direcţie fiind la dreapta. (vezi exemplul )
- Furnicile devin obsedate de spirale, aşa că ele doresc să afişaţi numărul de furnici din fiecare clasă, fiind garantat faptul că , unde este număr natural şi având în vedere următoarea parcurgere: La fiecare pas se va împărţi matricea în 4 cadrane. Prima oara se va parcurge cel din stânga-sus, apoi cel din dreapta-sus, urmat de cel din dreapta-jos şi la final, cel din stânga-jos. Parcurgerea fiecărui cadran se va face asemănător cu parcurgerea matricei întregi, împărţindu-se şi acesta în cadrane, parcurse în aceaşi ordine. Împărţirea se opreşte în momentul în care rămânem cu o singură clasă în cadran. (vezi exemplul )
- Furnicile sunt impresionate de numerele prime, aşa că ele doresc să afişaţi numărul de clase care au un număr prim de furnici şi coordonatele acestora. (vezi exemplul )
- Furnicile devin obsedate de numerele prime, aşa că ele doresc să pună întrebări de forma: câte clase cu numere prime de furnici există în submatricea care are colţul stânga-sus în poziţia şi colţul dreapta-jos în poziţia . Răspundeţi la aceste întrebări. (vezi exemplul )
Date de intrare
Pe prima linie a fișierului de intrare matrix.in
se găsește numărul cerinței .
Pe a doua linie se găseşte numărul natural , dimensiunea matricei.
Pe următoarele linii se găsesc numere naturale, reprezentând numărul de furnici din clasele de pe linia respectivă.
Doar dacă , atunci pe următoarea linie se va găsi , numărul de întrebări, urmată de alte linii pe care se vor găsi câte numere naturale, în ordine: , , , .
Date de ieșire
- Afișarea se va face în fișierul de ieșire
matrix.out
. - Dacă , atunci se vor afișa numărul de furnici din fiecare clasă, în ordinea parcurgerii de la cerința 1, cu spații între ele.
- Dacă , atunci se vor afișa numărul de furnici din fiecare clasă, în ordinea parcurgerii de la cerința 2, cu spații între ele.
- Dacă , atunci se va afișa pe prima linie numărul de clase care au un număr prim de furnici, iar pe fiecare dintre liniile următoare se vor afișa numere: coordonata liniei clasei, respectiv coordonata coloanei clasei, despărțite prin spațiu, pentru fiecare clasă care respectă condiția de a avea un număr prim de furnici. Clasele vor fi ordonate după linie, iar dacă sunt mai multe clase care respectă condiţia de mai sus, după coloană.
- Dacă , atunci se vor afișa linii, unde pe linia , se va afișa răspunsul la a -a întrebare.
Restricții și precizări
- ;
- ;
- Pentru , număr natural;
- ;
- ;
- ;
- ;
- .
# | Punctaj | Restricții |
---|---|---|
1 | 25 | |
2 | 25 | |
3 | 5 | , |
4 | 20 | |
5 | 15 | , |
6 | 10 |
Exemplul 1
matrix.in
1
4
7 10 98 52
2 36 80 13
61 79 9 0
21 1 43 45
matrix.out
7 10 98 52 13 0 45 43 1 21 61 2 36 80 9 79
Explicație
Numerele din matrice se vor afișa în spirală, în ordinea săgeților din figura de mai sus.
Exemplul 2
matrix.in
2
4
7 10 98 52
2 36 80 13
61 79 9 0
21 1 43 45
matrix.out
7 10 36 2 98 52 13 80 9 0 45 43 61 79 1 21
Explicație
Matricea inițială este împărțită în cadrane: , care la rândul lor sunt împărțite din nou în cadrane, în ordinea parcurgerii de la cerința 2, rezultând astfel răspunsul dat.
Exemplul 3
matrix.in
3
4
7 10 98 52
2 36 80 13
61 79 9 0
21 1 43 45
matrix.out
6
1 1
2 1
2 4
3 1
3 2
4 3
Explicație
În matrice se află numere prime: , ordonate după linie și apoi după coloană
Exemplul 4
matrix.in
4
4
7 10 98 52
2 36 80 13
61 79 9 0
21 1 43 45
5
1 1 2 3
3 2 3 2
1 4 4 4
1 2 2 3
3 1 4 3
matrix.out
2
1
1
0
3
Explicație
- Pentru prima întrebare, submatricea analizată este , care are numere prime: .
- Pentru a doua întrebare, submatricea analizată este un singur element, și anume , care este prim.
- Pentru a treia întrebare, submatricea analizată este , care are un singur număr prim: .
- Pentru a patra întrebare, submatricea analizată este , care nu are niciun număr prim.
- Pentru a cincea întrebare, submatricea analizată este , care are numere prime: .