#2966
Se dă o matrice A cu N linii și M coloane, cu valori cuprinse între 1 și N∙M inclusiv, nu neapărat distincte. O operație constă în selectarea a două linii sau două coloane consecutive și interschimbarea acestora (swap). O matrice yin-yang este o matrice în care A[ i ] [ j ] ≥ A[ i ][ j – 1], pentru orice pereche (i, j) cu 1 ≤ i ≤ N și 2 ≤ j ≤ M și A[ i ][ j ] ≥ A[ i – 1][ j ], pentru orice pereche (i, j) cu 2 ≤ i ≤ N și 1 ≤ j ≤ M.
Să se determine numărul minim de operații necesare pentru a transforma matricea dată într-o matrice yin-yang.
OJI 2019
| Problema | yinyang | Operații I/O |
yinyang.in/yinyang.out
|
|---|---|---|---|
| Limita timp | 1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
| Id soluție | #63969727 | Utilizator | |
| Fișier | yinyang.cpp | Dimensiune | 1.20 KB |
| Data încărcării | 31 Martie 2026, 14:01 | Scor/rezultat | Eroare de compilare |
yinyang.cpp:6:20: error: expected ';' before ',' token using std::ifstream, std::ofstream; ^ yinyang.cpp:6:20: error: expected unqualified-id before ',' token yinyang.cpp:6:35: error: expected constructor, destructor, or type conversion before ';' token using std::ifstream, std::ofstream; ^ yinyang.cpp:8:35: error: expected ',' or '...' before 'sumlin' void citire(int &n, int &m, int[] sumlin, int[] sumcol){ ^ yinyang.cpp: In function 'void citire(int&, int&, int*)': yinyang.cpp:10:9: error: declaration of 'int n' shadows a parameter int n, m, a, j = 0, i = 0; ^ yinyang.cpp:10:12: error: declaration of 'int m' shadows a parameter int n, m, a, j = 0, i = 0; ^ yinyang.cpp:19:9: error: 'sumlin' was not declared in this scope sumlin[i]+=a; ^ yinyang.cpp:20:9: error: 'sumcol' was not declared in this scope sumcol[j]+=a; ^ yinyang.cpp: At global scope: yinyang.cpp:25:16: error: expected ',' or '...' before 'vec' int swap(int[] vec, i, j){ ^ yinyang.cpp: In function 'int swap(int*)': yinyang.cpp:27:8: error: 'vec' was not declared in this scope aux = vec[j]; ^ yinyang.cpp:27:12: error: 'j' was not declared in this scope aux = vec[j]; ^ yinyang.cpp:30:1: warning: no return statement in function returning non-void [-Wreturn-type] } ^ yinyang.cpp: In function 'int main()': yinyang.cpp:34:32: error: too many arguments to function 'void citire(int&, int&, int*)' citire(n, m, sumlin, sumcol); ^ yinyang.cpp:8:6: note: declared here void citire(int &n, int &m, int[] sumlin, int[] sumcol){ ^ yinyang.cpp:35:5: error: 'ofstream' was not declared in this scope ofstream g("yingyang.out"); ^ yinyang.cpp:35:5: note: suggested alternative: In file included from /usr/include/c++/4.8/ios:38:0, from /usr/include/c++/4.8/ostream:38, from /usr/include/c++/4.8/iostream:39, from yinyang.cpp:4: /usr/include/c++/4.8/iosfwd:160:34: note: 'std::ofstream' typedef basic_ofstream<char> ofstream; ^ yinyang.cpp:35:14: error: expected ';' before 'g' ofstream g("yingyang.out"); ^ yinyang.cpp:43:36: error: too many arguments to function 'int swap(int*)' swap(sumlin, j, j+1); ^ yinyang.cpp:25:5: note: declared here int swap(int[] vec, i, j){ ^ yinyang.cpp:54:36: error: too many arguments to function 'int swap(int*)' swap(sumcol, j, j+1); ^ yinyang.cpp:25:5: note: declared here int swap(int[] vec, i, j){ ^ yinyang.cpp:59:5: error: 'g' was not declared in this scope g<<contor_mutari; ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema yinyang 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ă.