Să considerăm două propoziţii formate din cuvinte scrise cu litere mari ale alfabetului englez, oricare două cuvinte consecutive fiind separate de unul sau mai multe spaţii.
Să considerăm şi două cuvinte. Pentru a calcula distanţa dintre cuvintele şi , notată , cuvântul mai scurt se completează la sfârşit cu caracterul @
(care are codul ASCII ), până se obţin două cuvinte de aceeaşi lungime, apoi se calculează suma diferenţelor absolute dintre codurile ASCII ale caracterelor situate în cuvintele şi pe poziţii corespondente:
, unde .
Definim distanţa dintre două propoziţii ca fiind suma distanţelor dintre cuvintele situate în propoziţii pe poziţii corespondente. Dacă una dintre propoziţii are mai puţine cuvinte decât cealaltă se consideră că la sfârşitul acestei propoziţii se află cuvinte vide (cuvinte de lungime ), până la completarea numărului necesar de cuvinte.
De exemplu, să considerăm propoziţia = ANA ARE MERE
şi propoziţia = VASILE NU
. Distanţa dintre propoziţia şi propoziţia este:
.
= =
= =
= = .
Deci
În scopul de a minimiza distanţa dintre cele două propoziţii, asupra celei de a doua propoziţii putem executa una sau mai multe operaţii. O operaţie constă în a muta prima literă dintr-un cuvânt la sfârşitul cuvântului precedent (dacă acesta există) sau ultima literă dintr-un cuvânt la începutul cuvântului următor. Cuvinte vide se pot afla doar la sfârşitul unei propoziţii, nu şi la începutul sau în interiorul ei (nici în propoziţiile date, nici în propoziţiile obţinute în urma aplicării operaţiilor). Cuvintele din propoziţie şi cuvintele obţinute în urma operaţiilor nu pot să depăşească de litere.
Cerinţă
Să se determine distanţa minimă care se poate obţine între cele două propoziţii efectuând operaţii de tipul celor descrise în enunţ. Se cere de asemenea să se determine şi numărul minim de operaţii ce trebuie să fie executate asupra celei de a doua propoziţii pentru a obţine distanţa minimă.
Date de intrare
Fişierul de intrare dist.in
conţine pe prima linie prima propoziţie, iar pe cea de a doua linie a doua propoziţie.
Date de ieșire
Fişierul de ieşire dist.out
va conţine o singură linie pe care vor fi scrise două numere naturale separate prin spaţiu , reprezentând în ordine distanţa minimă dintre cele două propoziţii, respectiv numărul minim de operaţii ce trebuie să fie executate asupra celei de a doua propoziţii pentru a obţine distanţa minimă.
Restricții și precizări
- Lungimea totală a unei propoziţii nu depăşeşte caractere.
- Lungimea maximă a unui cuvânt nu depăşeşte nici în propoziţiile date, nici în propoziţia obţinută în urma aplicării operaţiilor din enunţ de caractere.
- Numărul maxim de cuvinte dintr-o propoziţie este .
- Se acordă din punctaj pentru determinarea distanţei minime şi pentru rezolvarea ambelor cerinţe.
Exemplu
dist.in
ANA ARE MERE
VASILE NU
dist.out
62 9
Explicație
Propoziţia a doua, după aplicarea celor operaţii, este:
V ASI LENU