#2048
Se consideră două șiruri de numere naturale, ambele de lungime n, a=(a[1],a[2],...,a[n]) și b=(b[1],b[2],...,b[n]). Se știe că elementele din cele două șiruri sunt numere naturale, nu neapărat distincte, din mulțimea {1,2,…,n}. Cu cele două șiruri se poate face următoarea operație: se aleg doi indici i și j, cu 1≤i≤j≤n, apoi prin interschimbarea secvențelor a[i],a[i+1],...,a[j] cu b[i],b[i+1],...,b[j] se obțin șirurile:
a[1], a[2], ...,a[i-1], b[i],b[i+1],…, b[j], a[j+1],a[j+2], …, a[n] șib[1], b[2], ...,b[i-1], a[i], a[i+1],…, a[j], b[j+1],b[j+2], …, b[n].Dacă măcar unul din șirurile obținute este permutare a mulțimii {1,2,…,n}, atunci spunem că s-a obținut un mixperm.
Să se determine în câte moduri se poate obține un mixperm.
Lot Covasna 2017
| Problema | mixperm | Operații I/O |
mixperm.in/mixperm.out
|
|---|---|---|---|
| Limita timp | 0.5 secunde | Limita memorie |
Total: 128 MB
/
Stivă 8 MB
|
| Id soluție | #58669896 | Utilizator | |
| Fișier | mixperm.cpp | Dimensiune | 860 B |
| Data încărcării | 13 Iulie 2025, 23:24 | Scor/rezultat | 100 puncte |
mixperm.cpp: In function 'int main()': mixperm.cpp:22:109: warning: suggest parentheses around comparison in operand of '^' [-Wparentheses] if(spA[i-1]+spA[n]-spA[j]+spB[j]-spB[i-1]==s1 && xorA[i-1]^(xorB[j]^xorB[i-1])^(xorA[n]^xorA[j])==s2) ^ mixperm.cpp:24:114: warning: suggest parentheses around comparison in operand of '^' [-Wparentheses] else if(spB[i-1]+spB[n]-spB[j]+spA[j]-spA[i-1]==s1 && xorB[i-1]^(xorA[j]^xorA[i-1])^(xorB[n]^xorB[j])==s2) ^
| Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
|---|---|---|---|---|---|---|
| 0 | 0 secunde | OK. | 5 | 5 | ||
| 1 | 0 secunde | OK. | 5 | 5 | ||
| 2 | 0 secunde | OK. | 5 | 5 | ||
| 3 | 0 secunde | OK. | 5 | 5 | ||
| 4 | 0.004 secunde | OK. | 5 | 5 | ||
| 5 | 0.02 secunde | OK. | 5 | 5 | ||
| 6 | 0.028 secunde | OK. | 5 | 5 | ||
| 7 | 0.048 secunde | OK. | 5 | 5 | ||
| 8 | 0.06 secunde | OK. | 5 | 5 | ||
| 9 | 0.1 secunde | OK. | 5 | 5 | ||
| 10 | 0.12 secunde | OK. | 5 | 5 | ||
| 11 | 0.108 secunde | OK. | 5 | 5 | ||
| 12 | 0.192 secunde | OK. | 5 | 5 | ||
| 13 | 0.244 secunde | OK. | 5 | 5 | ||
| 14 | 0.276 secunde | OK. | 5 | 5 | ||
| 15 | 0.308 secunde | OK. | 5 | 5 | ||
| 16 | 0.32 secunde | OK. | 5 | 5 | ||
| 17 | 0.376 secunde | OK. | 5 | 5 | ||
| 18 | 0.4 secunde | OK. | 5 | 5 | ||
| 19 | 0.4 secunde | OK. | 5 | 5 | ||
| Punctaj total | 100 | |||||
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema mixperm 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ă.