#4051
Se consideră un panou de dimensiuni \(n \times m\) pe care sunt așezate \(nm\) becuri. Becul de pe rândul \(i\) și coloana \(j\) se notează \((i,j)\). Inițial, fiecare bec este stins (\(0\)) sau aprins (\(1\)). Putem efectua următoarele comenzi de oricâte ori:
Găsiți o secvență cu un număr minim de comenzi care conduce la aprinderea tuturor becurilor.
Simulare concurs CEX Hunedoara, februarie 2022
| Problema | lumina | Operații I/O |
tastatură/ecran
|
|---|---|---|---|
| Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
| Id soluție | #62958531 | Utilizator | |
| Fișier | lumina.cpp | Dimensiune | 1.53 KB |
| Data încărcării | 08 Februarie 2026, 18:53 | Scor/rezultat | Eroare de compilare |
lumina.cpp:5:34: error: declaration of 'a' as array of references void changeline(int i, bool &a[][]) { ^ lumina.cpp: In function 'void changeline(...)': lumina.cpp:7:9: error: 'a' was not declared in this scope a[i][j] = !a[i][j]; ^ lumina.cpp:7:11: error: 'i' was not declared in this scope a[i][j] = !a[i][j]; ^ lumina.cpp: At global scope: lumina.cpp:10:35: error: declaration of 'a' as array of references void changecolon(int j, bool &a[][]) { ^ lumina.cpp: In function 'void changecolon(...)': lumina.cpp:12:9: error: 'a' was not declared in this scope a[i][j] = !a[i][j]; ^ lumina.cpp:12:14: error: 'j' was not declared in this scope a[i][j] = !a[i][j]; ^ lumina.cpp: At global scope: lumina.cpp:16:25: error: declaration of 'a' as multidimensional array must have bounds for all dimensions except the first bool isgudvret(bool a[][]) { ^ lumina.cpp: In function 'bool isgudvret(...)': lumina.cpp:19:17: error: 'a' was not declared in this scope if (a[i][j] == a[i + 1][j]) return false; ^ lumina.cpp:24:13: error: 'a' was not declared in this scope if (a[0][j] == a[1][j]) return false; ^ lumina.cpp:22:9: warning: unused variable 'i' [-Wunused-variable] int i = n; ^ lumina.cpp: At global scope: lumina.cpp:28:25: error: declaration of 'a' as multidimensional array must have bounds for all dimensions except the first bool isgudhori(bool a[][]) { ^ lumina.cpp: In function 'bool isgudhori(...)': lumina.cpp:31:17: error: 'a' was not declared in this scope if (a[i][j] == a[i][j + 1]) return false; ^ lumina.cpp:36:13: error: 'a' was not declared in this scope if (a[i][0] == a[i][1]) return false; ^ lumina.cpp:34:9: warning: unused variable 'j' [-Wunused-variable] int j = m; ^ lumina.cpp: In function 'int main()': lumina.cpp:51:22: error: expected primary-expression before ']' token if ((isgudhori(a[][]) == false) && isgudvret(a[][])) { ^ lumina.cpp:51:24: error: expected primary-expression before ']' token if ((isgudhori(a[][]) == false) && isgudvret(a[][])) { ^ lumina.cpp:51:52: error: expected primary-expression before ']' token if ((isgudhori(a[][]) == false) && isgudvret(a[][])) { ^ lumina.cpp:51:54: error: expected primary-expression before ']' token if ((isgudhori(a[][]) == false) && isgudvret(a[][])) { ^ lumina.cpp:60:32: error: 'i' was not declared in this scope for (int j = 0; j < m; i++) { ^ lumina.cpp:42:9: warning: unused variable 's' [-Wunused-variable] int s = 0; ^ lumina.cpp:43:9: warning: unused variable 'vec' [-Wunused-variable] int vec[100]; ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema lumina 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ă.