lampusha
24.01.2021 10:18

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

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
sva25717
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;

}

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота