#2778
next_perm
C++
Scrieți definiția completă a subprogramului C++:
void next_perm(int n, int P[])
Subprogramul are 2 parametri:
n
– prin care primește un număr naturalP
– prin care primește un tablou unidimensional cu n
elemente ce reprezintă o permutare a mulțimii {1,2,...,n}
.Subprogramul va returna tot în parametru P
următoarea permutare din punct de vedere lexicografic.
Problema | next_perm | Operații I/O | tastatură/ecran |
---|---|---|---|
Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
Id soluție | #29603449 | Utilizator | |
Fișier | next_perm.cpp | Dimensiune | 570 B |
Data încărcării | 11 Mai 2021, 18:20 | Scor / rezultat | 100 puncte |
next_perm.cpp: In function 'void next_perm(int, int*)': next_perm.cpp:10:13: warning: unused variable 'a' [-Wunused-variable] int i,j,a,b; ^ next_perm.cpp:10:15: warning: unused variable 'b' [-Wunused-variable] int i,j,a,b; ^ next_perm.cpp:20:14: warning: 'j' may be used uninitialized in this function [-Wmaybe-uninitialized] for(i=j+1;i<=n;i++) ^ next_perm.cpp:30:13: warning: 'z' may be used uninitialized in this function [-Wmaybe-uninitialized] p[j]=p[z]; ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
0 | 0 secunde | OK. | 10 | 10 | Exemplu | |
1 | 0 secunde | OK. | 10 | 10 | ||
2 | 0 secunde | OK. | 10 | 10 | ||
3 | 0 secunde | OK. | 10 | 10 | ||
4 | 0 secunde | OK. | 10 | 10 | ||
5 | 0.004 secunde | OK. | 15 | 15 | ||
6 | 0.024 secunde | OK. | 15 | 15 | ||
7 | 0.048 secunde | OK. | 20 | 20 | ||
Punctaj total | 100 |
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema next_perm face parte din a doua categorie. Pentru aceste probleme se folosește un program suport, furnizat de propunătorul problemei. 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ă.