У Рахмана есть строка A из строчных букв. Он придумал особую формулу, по которой он...

0 голосов
42 просмотров

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


Информатика (29 баллов) | 42 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

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

#include


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;

}

(148k баллов)