Fişierul intrare/ieşire: | conexiuni.in, conexiuni.out | Sursă | Algoritmiada 2010, Runda Finala |
Autor | Adrian Airinei | Adăugată de | |
Timp execuţie pe test | 0.15 sec | Limită de memorie | 20480 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
Conexiuni
Recent s-a descoperit faptul ca ar putea exista anumite conexiuni intre civilizatiile extraterestre si sirurile de caractere ale alfabetului englez. Regele planetei va roaga sa investigati aceste conexiuni. El va pune la dispozitie doua siruri A si B care contin numai litere ale alfabetului englez (de la a la z) si va roaga sa ii spuneti pentru fiecare subsecventa din sirul A de cate ori apare aceasta in sirul B. Sa notam cu NRi,j numarul de aparitii in sirul B ale subsecventei aflate intre pozitiile i si j din sirul A. Regele planetei va roaga sa calculati pentru fiecare pereche (i, j) cu i ≤ j valoarea NRi,j XOR i XOR (j+1) si sa faceti suma acestor valori.
Date de intrare
Fişierul de intrare conexiuni.in contine pe prima linie doua numere separate de un singur spatiu, N si M reprezentand lungimea sirului A, respectiv a sirului B. Pe urmatoarea linie se afla un sir de N caractere ce reprezinta sirul A, iar pe ultima linie un sir de M caractere ce reprezinta sirul B.
Date de ieşire
În fişierul de ieşire conexiuni.out veti afisa un singur numar, suma valorilor ceruta de Regele planetei.
Restricţii
- 1 ≤ N ≤ M ≤ 5000
- Operatorul XOR are aceiasi semnificatie cu operatorul ^ din C/C++ sau xor din Pascal
- Formula folosita la calcularea valorilor ce trebuiesc adunate nu are nicio particularitate; solutia comisiei rezolva problema indiferent de formula folosita
Exemplu
conexiuni.in | conexiuni.out |
---|---|
5 6 abaaa ababaa | 73 |
Explicaţie
Subsecventa aba din sirul A care se afla intre pozitiile 1 si 3 apare de doua ori in sirul B. Prima oara o gasim intre pozitiile 1 si 3 ale sirului, iar a doua oara intre pozitiile 3 si 5. Astfel va trebui sa adunam la rezultat valoarea 2 XOR 1 XOR 4.