#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 | #51518709 | 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:21:15: error: redefinition of 'constexpr const long long int NMAX' constexpr int NMAX = (int) 1e4; ^ mixperm.cpp:11:11: error: 'const long long int NMAX' previously defined here const int NMAX = 1e9 + 7; ^ mixperm.cpp:22:17: error: size of array 'ans' is too large int ans[NMAX + 1]; ^ mixperm.cpp:24:15: error: size of array 'v' is too large int v[NMAX + 1], w[NMAX + 1]; ^ mixperm.cpp:24:28: error: size of array 'w' is too large int v[NMAX + 1], w[NMAX + 1]; ^ mixperm.cpp: In function 'int main()': mixperm.cpp:34:9: error: 'ans' was not declared in this scope ans[i] = rng() % MOD; ^ mixperm.cpp:34:26: error: 'MOD' was not declared in this scope ans[i] = rng() % MOD; ^ mixperm.cpp:38:16: error: 'v' was not declared in this scope cin >> v[i]; ^ mixperm.cpp:39:16: error: 'ans' was not declared in this scope v[i] = ans[v[i]]; ^ mixperm.cpp:43:16: error: 'w' was not declared in this scope cin >> w[i]; ^ mixperm.cpp:44:16: error: 'ans' was not declared in this scope w[i] = ans[w[i]]; ^ mixperm.cpp:50:19: error: 'v' was not declared in this scope if (((v[i - 1] ^ v[0]) ^ (w[j] ^ w[i - 1]) ^ (v[n] ^ v[j])) == val || ((w[i - 1] ^ w[0]) ^ (v[j] ^ v[i - 1]) ^ (w[n] ^ w[j]))== val) ^ mixperm.cpp:50:39: error: 'w' was not declared in this scope if (((v[i - 1] ^ v[0]) ^ (w[j] ^ w[i - 1]) ^ (v[n] ^ v[j])) == val || ((w[i - 1] ^ w[0]) ^ (v[j] ^ v[i - 1]) ^ (w[n] ^ w[j]))== val) ^
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ă.