Sürüdə Mızıldama (Bürünc)#11195

Sürüdə Mızıldama (Bürünc) (Həll təhlili)

əlifbanı, isə Fermer Con-un eşitdiyi sətri saxlasın. Sətrin simvollarını ardıcıl olaraq emal edəcəyik, hər dəfə cari simvolu əlifbasında axtaracağıq. Bu zaman əlifba üzrə soldan sağa hərəkət edəcəyik, lazım olan hərf əvvəlkindən solda yerləşdikdə isə hər dəfə yeni keçidə onun əvvəlindən başlayacağıq.

Nümunə

Nümunədə cowphabet adi əlifba ilə eyni qaydada sıralanıb. Bessi cowphabet-i ən azı dəfə mızıldamalıdır. Aşağıda Bessinin necə mızıldadığı göstərilib, Fermer Conun eşitdiyi hərflər isə böyük hərflərlə qeyd olunub.

Alqoritmin realizasiyası

əlifbasını və sətrini oxuyuruq.

cin >> alph;
cin >> s;

Əlifba üzrə keçidlərin sayını dəyişənində saxlayacağıq.

cnt = 0;

dəyişəni ilə sətrinin simvollarını ardıcıl olaraq gəzəcəyik.

for (i = 0; i < s.size(); )
{

dəyişəni ilə əlifbanın hərflərini gəzəcəyik. Əlifbada növbəti lazım olan hərfi rast gəlinən kimi, -ni vahid artırırıq.

  for (j = 0; j < alph.size(); j++)
    if (s[i] == alph[j]) i++;
  cnt++;
}

Cavabı çap edirik.

cout << cnt << endl;