#3442
SpiralMatrix
Parcurgând elementele unei matrice pătratice de dimensiune n
în spirală, pornind din colțul din
stânga-sus, în sens orar, de la margini către interior, se obține șirul strict crescător format din toate
valorile de la 1
la n
2
, ca în figura de mai jos. Din șirul dat se obțin două subșiruri disjuncte, de lungime egală, cu număr maxim de termeni. Primul subșir este format din numere consecutive din prima jumătate a șirului, și trebuie să conțină în mod obligatoriu valoarea 1
, iar al doilea este format din numere consecutive din a doua jumătate a șirului și trebuie să conțină în mod obligatoriu valoarea n
2
.
1 | 2 | 3 | 4 | 5 |
16 | 17 | 18 | 19 | 6 |
15 | 24 | 25 | 20 | 7 |
14 | 23 | 22 | 21 | 8 |
13 | 12 | 11 | 10 | 9 |
Să se afle poziția în matrice a celui mai mare termen din primul subșir și a celui mai mic termen din al
doilea subșir.
OJI 2020, clasa a IX-a
Problema | SpiralMatrix | Operații I/O |
spiralmatrix.in /spiralmatrix.out
|
---|---|---|---|
Limita timp | 0.2 secunde | Limita memorie |
Total: 64 MB
/
Stivă 32 MB
|
Id soluție | #49809141 | Utilizator | |
Fișier | spiralmatrix.cpp | Dimensiune | 1.54 KB |
Data încărcării | 15 Martie 2024, 14:10 | Scor / rezultat | 55 puncte |
spiralmatrix.cpp: In function 'int main()': spiralmatrix.cpp:53:21: warning: suggest parentheses around '&&' within '||' [-Wparentheses] if(dr==true && v[i][j+1]==1 || dr==true && j==n) ^ spiralmatrix.cpp:58:21: warning: suggest parentheses around '&&' within '||' [-Wparentheses] if(st==true && v[i][j-1]==1 || st==true && j==1) ^ spiralmatrix.cpp:63:22: warning: suggest parentheses around '&&' within '||' [-Wparentheses] if(sus==true && v[i-1][j]==1 || sus==true && i==1) ^ spiralmatrix.cpp:68:22: warning: suggest parentheses around '&&' within '||' [-Wparentheses] if(jos==true && v[i+1][j]==1 || jos==true && i==n) ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
0 | 0 secunde | OK. | 6 | 6 | ||
1 | 0 secunde | OK. | 3 | 3 | ||
2 | 0 secunde | OK. | 5 | 5 | ||
3 | 0 secunde | OK. | 8 | 8 | ||
4 | 0 secunde | OK. | 9 | 9 | ||
5 | 0 secunde | OK. | 4 | 4 | ||
6 | 0 secunde | OK. | 10 | 10 | ||
7 | 0.008 secunde | Caught fatal signal 11 | 7 | 0 | ||
8 | 0.012 secunde | Caught fatal signal 11 | 11 | 0 | ||
9 | 0.008 secunde | Caught fatal signal 11 | 12 | 0 | ||
10 | 0.232 secunde | Caught fatal signal 11 | 4 | 0 | ||
11 | 0.232 secunde | Caught fatal signal 11 | 6 | 0 | ||
12 | 0.232 secunde | Caught fatal signal 11 | 5 | 0 | ||
13 | 0 secunde | OK. | 5 | 5 | Exemplu | |
14 | 0 secunde | OK. | 5 | 5 | Exemplu | |
Punctaj total | 55 |
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema SpiralMatrix face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:
Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.