#2128
Definim o permutare dublă de ordin n ca fiind un șir format din primele 2n numere naturale nenule:
(a[1], a[2], ... , a[n], a[n+1], a[n+2], ... , a[2n]). Această permutare dublă este de trei ori în creștere, dacă sunt adevărate următoarele trei proprietăți:
n elemente este crescătoare: a[1]<a[2]< ... < a[n]n elemente este crescătoare: a[n+1]<a[n+2]< ... < a[2n]a[1]<a[n+1], a[2]<a[n+2], ... , a[n]<a[2n].Pentru simplificare în continuare permutarea dublă de trei ori în creștere se va numi permutare. Vom considera toate permutările de ordin n ordonate lexicografic, numerotate începând cu 1.
Există două tipuri de întrebări:
Să se răspundă corect la un set de întrebări.
OJI 2017, Clasele XI-XII
| Problema | Permutare2 | Operații I/O |
permutare2.in/permutare2.out
|
|---|---|---|---|
| Limita timp | 1.5 secunde | Limita memorie |
Total: 64 MB
/
Stivă 32 MB
|
| Id soluție | #64975275 | Utilizator | |
| Fișier | permutare2.cpp | Dimensiune | 1.97 KB |
| Data încărcării | 30 Iunie 2026, 21:17 | Scor/rezultat | 100 puncte |
permutare2.cpp: In function ‘void convert_to_vector()’: permutare2.cpp:28:18: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::__cxx11::basic_string<char>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 28 | for(int i=0;i<s.size();++i){ | ~^~~~~~~~~ permutare2.cpp: In function ‘void rezcer2()’: permutare2.cpp:37:18: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::__cxx11::basic_string<char>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 37 | for(int i=0;i<s.size();++i){ | ~^~~~~~~~~ permutare2.cpp: In function ‘void rezcer1()’: permutare2.cpp:50:18: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::__cxx11::basic_string<char>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 50 | for(int i=0;i<s.size();++i){ | ~^~~~~~~~~ permutare2.cpp: In function ‘int main()’: permutare2.cpp:69:12: warning: ignoring return value of ‘FILE* freopen(const char*, const char*, FILE*)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 69 | freopen("permutare2.in","r",stdin); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ permutare2.cpp:70:12: warning: ignoring return value of ‘FILE* freopen(const char*, const char*, FILE*)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 70 | freopen("permutare2.out","w",stdout); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
|---|---|---|---|---|---|---|
| 0 | 0.015 secunde | OK. | 10 | 10 | Exemplu | |
| 1 | 0.015 secunde | OK. | 10 | 10 | ||
| 2 | 0.034 secunde | OK. | 10 | 10 | ||
| 3 | 0.102 secunde | OK. | 10 | 10 | ||
| 4 | 0.112 secunde | OK. | 10 | 10 | ||
| 5 | 0.127 secunde | OK. | 10 | 10 | ||
| 6 | 0.099 secunde | OK. | 10 | 10 | ||
| 7 | 0.127 secunde | OK. | 10 | 10 | ||
| 8 | 0.028 secunde | OK. | 10 | 10 | ||
| 9 | 0.027 secunde | OK. | 10 | 10 | ||
| Punctaj total | 100 | |||||
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Permutare2 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ă.