#2194
Mihai a construit o matrice pătratică A
de dimensiune N
cu valori în mulțimea {0,1}
. El preferă acele matrice care au toate elementele identice și de aceea a calculat pentru matricea A
, numărul K
de submatrice care au toate elementele identice. Acum, Mihai vrea să transforme matricea A
într-o matrice cu toate elementele identice. Pentru aceasta, el a selectat un număr natural nenul D
, și definește operația ZET care constă în alegerea unei submatrice pătratice de dimensiunea D
din matricea precedentă în care schimbă toate elementele 0
în 1
și invers. El vrea să aplice operația ZET inițial pentru matricea A
, apoi repetă operația pentru matricea obținută la momentul anterior, de un număr minim de ori, notat R
, până când matricea obținută are toate elementele identice, sau dacă nu este posibil, R
va avea valoarea -1
.
Mihai vă roagă să calculați valorile K
și R
. Pentru a preciza tipul cerinței, Mihai folosește un cod T
care dacă are valoarea 1
, atunci solicită calcularea valorii K
, iar dacă T
are valoarea 2
, atunci solicită calcularea valorii R
.
ONI 2017, clasa a X-a
Problema | identice3 | Operații I/O |
![]() identice3.in /identice3.out
|
---|---|---|---|
Limita timp | 0.15 secunde | Limita memorie |
Total: 32 MB
/
Stivă 8 MB
|
Id soluție | #22154472 | Utilizator | |
Fișier | identice3.cpp | Dimensiune | 2.25 KB |
Data încărcării | 27 Martie 2020, 12:56 | Scor / rezultat | 70 puncte |
identice3.cpp: In function 'int main()': identice3.cpp:102:23: warning: format '%d' expects argument of type 'int', but argument 2 has type 'long long int' [-Wformat=] printf("%d" , s1); ^ identice3.cpp:104:23: warning: format '%d' expects argument of type 'int', but argument 2 has type 'long long int' [-Wformat=] printf("%d" , s2); ^ identice3.cpp:81:40: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result] freopen("identice3.in" , "r" , stdin); ^ identice3.cpp:82:42: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result] freopen("identice3.out" , "w" , stdout); ^ identice3.cpp:83:33: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%d%d%d" , &t , &n , &d); ^ identice3.cpp:87:30: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%1d" , &v[i][j]); ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
0 | 0 secunde | OK. | 5 | 5 | ||
1 | 0 secunde | OK. | 5 | 5 | ||
2 | 0.012 secunde | OK. | 5 | 5 | ||
3 | 0.016 secunde | OK. | 5 | 5 | ||
4 | 0.02 secunde | OK. | 5 | 5 | ||
5 | 0.028 secunde | OK. | 5 | 5 | ||
6 | 0.048 secunde | OK. | 5 | 5 | ||
7 | 0.056 secunde | OK. | 5 | 5 | ||
8 | 0.076 secunde | OK. | 5 | 5 | ||
9 | 0.084 secunde | OK. | 5 | 5 | ||
10 | 0 secunde | OK. | 5 | 5 | ||
11 | 0 secunde | Raspuns gresit. | 5 | 0 | ||
12 | 0.004 secunde | Raspuns gresit. | 5 | 0 | ||
13 | 0.008 secunde | Raspuns gresit. | 5 | 0 | ||
14 | 0.016 secunde | Raspuns gresit. | 5 | 0 | ||
15 | 0.024 secunde | Raspuns gresit. | 5 | 0 | ||
16 | 0.06 secunde | Raspuns gresit. | 5 | 0 | ||
17 | 0.072 secunde | OK. | 5 | 5 | ||
18 | 0.08 secunde | OK. | 5 | 5 | ||
19 | 0.084 secunde | OK. | 5 | 5 | ||
Punctaj total | 70 |
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema identice3 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ă.