#4815
Se consideră șirul de litere mici ale alfabetului englez A[1], ..., A[N]
.
Fie succesiunea de caractere alăturate din șir A[x], A[x + 1], ..., A[y]
, unde 1 ≤ x ≤ y ≤ N
, pe care o notăm cu A[x, y]
. Pentru oricare literă mică a alfabetului englez l
, definim range(l)
ca fiind 0
, dacă l
apare cel mult o dată în A[x, y]
. Altfel, valoarea range(l)
este egală cu diferența dintre cea mai mare și cea mai mică poziție pe care litera l
apare în A[x, y]
.
Șirul suport asociat lui A[x, y]
este șirul de caractere minim lexicografic ce conține fiecare literă l
de range(l)
ori. Asupra șirului se efectuează două tipuri de operații:
c
și poziția poz
, se înlocuiește A[poz]
cu c
.x, y
, se generează șirul suport al lui A[x, y]
.C = 1
: determinați șirul suport minim lexicografic dintre cele obținute în urma tuturor operațiilor de generare.C = 2
: pentru fiecare operație de generare dată, determinați numărul de anagrame distincte ale șirului suport obținut, modulo 1999999973
.Problema | anagrame6 | Operații I/O |
![]() anagrame.in /anagrame.out
|
---|---|---|---|
Limita timp | 1 secunde | Limita memorie |
Total: 256 MB
/
Stivă 64 MB
|
Id soluție | #58474107 | Utilizator | |
Fișier | anagrame6.cpp | Dimensiune | 1.56 KB |
Data încărcării | 09 Iunie 2025, 12:44 | Scor / rezultat | 4 puncte |
anagrame6.cpp: In function 'int main()': anagrame6.cpp:38:22: warning: array subscript has type 'char' [-Wchar-subscripts] rc[ic] = range(ic, n1, n2); ^ anagrame6.cpp:40:27: warning: array subscript has type 'char' [-Wchar-subscripts] brc[ic] = rc[ic]; ^ anagrame6.cpp:40:36: warning: array subscript has type 'char' [-Wchar-subscripts] brc[ic] = rc[ic]; ^ anagrame6.cpp:44:31: warning: array subscript has type 'char' [-Wchar-subscripts] if (brc[ic] > rc[ic] || (brc[ic] == 0 && rc[ic] != 0)) ^ anagrame6.cpp:44:40: warning: array subscript has type 'char' [-Wchar-subscripts] if (brc[ic] > rc[ic] || (brc[ic] == 0 && rc[ic] != 0)) ^ anagrame6.cpp:44:52: warning: array subscript has type 'char' [-Wchar-subscripts] if (brc[ic] > rc[ic] || (brc[ic] == 0 && rc[ic] != 0)) ^ anagrame6.cpp:44:67: warning: array subscript has type 'char' [-Wchar-subscripts] if (brc[ic] > rc[ic] || (brc[ic] == 0 && rc[ic] != 0)) ^ anagrame6.cpp:46:31: warning: array subscript has type 'char' [-Wchar-subscripts] if (brc[ic] < rc[ic]){ ^ anagrame6.cpp:46:40: warning: array subscript has type 'char' [-Wchar-subscripts] if (brc[ic] < rc[ic]){ ^ anagrame6.cpp:48:35: warning: array subscript has type 'char' [-Wchar-subscripts] brc[jc] = rc[ic]; ^ anagrame6.cpp:48:44: warning: array subscript has type 'char' [-Wchar-subscripts] brc[jc] = rc[ic]; ^ anagrame6.cpp:57:32: warning: array subscript has type 'char' [-Wchar-subscripts] for (i = 1; i <= brc[ic]; i++) ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
1 | Depășit | Limita de timp depășită | 4 | 0 | ||
2 | Depășit | Limita de timp depășită | 4 | 0 | ||
3 | 0 secunde | Raspuns gresit. | 4 | 0 | ||
4 | 0 secunde | Raspuns gresit. | 4 | 0 | ||
5 | 0 secunde | Raspuns gresit. | 4 | 0 | ||
6 | 0.004 secunde | Raspuns gresit. | 4 | 0 | ||
7 | 0.168 secunde | Raspuns gresit. | 4 | 0 | ||
8 | Depășit | Limita de timp depășită | 4 | 0 | ||
9 | 0 secunde | OK. | 4 | 4 | ||
10 | Depășit | Limita de timp depășită | 4 | 0 | ||
11 | Depășit | Limita de timp depășită | 4 | 0 | ||
12 | Depășit | Limita de timp depășită | 4 | 0 | ||
13 | Depășit | Limita de timp depășită | 4 | 0 | ||
14 | Depășit | Limita de timp depășită | 4 | 0 | ||
15 | Depășit | Limita de timp depășită | 4 | 0 | ||
16 | Depășit | Limita de timp depășită | 4 | 0 | ||
17 | Depășit | Limita de timp depășită | 4 | 0 | ||
18 | 0 secunde | Raspuns gresit. | 4 | 0 | ||
19 | 0 secunde | Raspuns gresit. | 4 | 0 | ||
20 | 0 secunde | Raspuns gresit. | 4 | 0 | ||
21 | Depășit | Limita de timp depășită | 4 | 0 | ||
22 | Depășit | Limita de timp depășită | 4 | 0 | ||
23 | Depășit | Limita de timp depășită | 4 | 0 | ||
24 | Depășit | Limita de timp depășită | 4 | 0 | ||
25 | Depășit | Limita de timp depășită | 4 | 0 | ||
Punctaj total | 4 |
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema anagrame6 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ă.