Предмет: Информатика, автор: gulya33kz

У Рахмана есть строка
A
из строчных букв. Он придумал особую формулу, по которой он находит Рахманов ломтик строки. Рахманов ломтик строки - это любая строка входящая в
A
максимальное количество раз. Найдите Рахманов ломтик строки
A
Входные данные
В первой и единственной строке дается строка
A
. Длина строки не превышает
10
5
Выходные данные
Выведите Рахманов Ломтик строки
A
.

Примеры
входные данныеСкопировать
afaf
выходные данныеСкопировать
af
входные данныеСкопировать
bakbak
выходные данныеСкопировать
bak
Надо решить задачу с с++ програмироание

Ответы

Автор ответа: nelle987
0

Условие пытается немного обмануть решающего. На самом деле всегда можно выбрать Рахманов ломтик строки, состоящий из одного символа (действительно, если в искомой подстроке несколько символов, то каждый из них встречается не меньшее число раз, что и сама подстрока). В итоге задача превращается в тривиальную: считать строку и вывести символ, встречающийся максимальное число раз.

#include <iostream>


int main() {

   char c, maxchar;

   int count[26] = {0}, maxcount = 0;

   while (std::cin.get(c)) {

       count[c - 'a']++;

   }

   for (c = 0; c < 26; c++) {

       if (count[c] > maxcount) {

           maxcount = count[c];

           maxchar = c;

       }

   }

   std::cout << static_cast<char>(maxchar + 'a');

   return 0;

}

Похожие вопросы
Предмет: Математика, автор: sanasndbv