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

annya306 annya306    2   30.09.2019 05:10    0

Ответы
Adilka11 Adilka11  09.10.2020 04:41

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

#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;

}

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика