Cerința
2 puncteDescrieți în limbaj natural algoritmul proiectat, justificând eficiența acestuia. (2p.)
Arată baremul
3. a) Pentru răspuns corect - 2p. -coerență a descrierii algoritmului (*) - 1p. -justificare a elementelor de eficiență - 1p. (*) Se acordă punctajul chiar dacă algoritmul ales nu este eficient.
O soluție posibilă utilizează un vector de frecvență v în care vᵢ reprezintă numărul de valori x din șirul A pentru care i=x%100 (i∈[0,99]). Vectorul v se actualizează pe măsura parcurgerii celei de a doua linii a fișierului. Se determină numărul cerut nr pe măsura parcurgerii numerelor de pe a treia linie a fișierului: pentru fiecare număr curent y din șirul B se determină ultimele două cifre ale sale, c1 și c2 și numerele i și j, unde i=c1*10+c2, iar j=c2*10+c1, apoi se adună la nr valoarea vᵢ și, dacă i≠j, se adună la nr și vⱼ.
O altă soluție utilizează câte un vector de frecvență pentru fiecare șir, va și vb, cu aceeași semnificație ca mai sus. Vectorii se completează pe măsura citirii fiecărui șir, iar numărul cerut se obține la final, prin parcurgerea vectorului vb și pentru fiecare i∈[0,99], se determină ultimele două cifre ale sale, c1 și c2 și numărul j, unde j=c2*10+c1, apoi se adună la nr valoarea vbᵢ·vaᵢ și, dacă i≠j, se adună la nr și vbᵢ·vaⱼ.