#2236
Se consideră un șir binar a[1], a[2], …, a[n]. Asupra șirului se poate efectua operația swap(i, j) prin care se interschimbă valorile a[i] și a[j]. Să se determine numărul minim de operații swap care pot fi efectuate astfel încât toate valorile de 1 să apară pe poziții consecutive în șir.
-
| Problema | swap01 | Operații I/O |
tastatură/ecran
|
|---|---|---|---|
| Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
| Id soluție | #64536879 | Utilizator | |
| Fișier | swap01.cpp | Dimensiune | 630 B |
| Data încărcării | 13 Mai 2026, 08:53 | Scor/rezultat | Eroare de compilare |
swap01.cpp: In function ‘int main()’: swap01.cpp:8:5: error: expected initializer before ‘for’ 8 | for(int i=1; i<=n; i++){ | ^~~ swap01.cpp:8:18: error: ‘i’ was not declared in this scope 8 | for(int i=1; i<=n; i++){ | ^ swap01.cpp:16:12: error: ‘a’ was not declared in this scope 16 | if(a[i]==0){ | ^ swap01.cpp:20:8: warning: statement has no effect [-Wunused-value] 20 | min==st; | ~~~^~~~ swap01.cpp:22:12: error: ‘a’ was not declared in this scope 22 | if(a[i-nr]==0){ | ^ swap01.cpp:25:12: error: ‘a’ was not declared in this scope 25 | if(a[i]==0){ | ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema swap01 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ă.