#2048
mixperm
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 | #51518703 | Utilizator | |
Fișier | mixperm.cpp | Dimensiune | 1.24 KB |
Data încărcării | 03 Iulie 2024, 16:16 | Scor / rezultat | Eroare de compilare |
mixperm.cpp: In function 'int main()': mixperm.cpp:11:14: error: invalid operands of types 'std::mersenne_twister_engine<unsigned int, 32u, 624u, 397u, 31u, 2567483615u, 11u, 4294967295u, 7u, 2636928640u, 15u, 4022730752u, 18u, 1812433253u>::result_type {aka unsigned int}' and 'double' to binary 'operator%' #define MOD 1e9 + 7; ^ mixperm.cpp:34:26: note: in expansion of macro 'MOD' ans[i] = rng() % MOD; ^
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ă.