#3719
SDistante
Se dă un șir de caractere s
, care poate conține doar litere mici și mari ale alfabetului englez (de la a
la z
și de la A
la Z
). Pentru toate perechile neordonate de subsecvențe distincte ale șirului s
care au lungimi egale, vrem să calculăm distanța dintre ele și să afișăm suma acestora modulo 1.000.000.007
. Formal, se cere suma valorilor dist(s(a, b), s(c, d))
, pentru toți indicii a
, b
, c
, d
cu 0 ≤ a, b, c, d < |s|
, a < c
, a ≤ b
, c ≤ d
, b - a = d - c
, modulo 1.000.000.007
. |s|
reprezintă lungimea șirului s
, care este indexat de la 0
.
OJI 2021, clasa a X-a
Problema | SDistante | Operații I/O |
![]() sdistante.in /sdistante.out
|
---|---|---|---|
Limita timp | 0.3 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
Id soluție | #49514910 | Utilizator | |
Fișier | sdistante.cpp | Dimensiune | 411 B |
Data încărcării | 05 Martie 2024, 14:01 | Scor / rezultat | Eroare de compilare |
sdistante.cpp:4:1: error: 'frecventa' does not name a type frecventa[300]; ^ sdistante.cpp: In function 'int main()': sdistante.cpp:15:24: error: 'frecventa' was not declared in this scope rez=(rez+(suma-frecventa[s[i]])*(s.size()-i)); ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema SDistante 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ă.