Бесплатный урок с нашим репетитором!

Узнать подробнее

Новая Школа - онлайн-школа подготовки к ЕГЭ
При поддержке
Посмотреть все вопросы нейросети
Бесплатный пробный урок с репетитором

Узнай больше про репетиторов Новой Школы и запишись на бесплатный пробный урок. Мы проверим твой уровень знаний и составим план обучения по любому предмету и классу

Вопрос от Анонимного юзера 23 октября 2025 18:03

Ограничение по времени: 1 секунда Ограничение по памяти: 256 мегабайт Вы разрабатываете препроцессор текста для языковой модели. Пользователи иногда тянут буквы, например: coooool, yaaaay. Перед обучением модели и при обработке пользовательских сообщений такие повторения нужно нормализовать: каждая подряд идущая серия одинаковых символов должна иметь длину не больше К. По заданным К и строке S (состоящей из латинских букв) получите строку S', в которой длина каждой максимальной серии одинаковых символов не превосходит К. Не меняйте порядок символов и не удаляйте серии полностью. Формат входных данных Первая строка содержит натуральное число K > 1. Вторая строка содержит строку S из латинских букв (А…Z, а…2). Формат выходных данных Выведите исправленную строку. Ввод 2 uraaaaSuperrr Вывод uraaSuperr

Ответ нейросети

23 октября 2025 18:03

Алгоритм:

  • Проходим по строке S слева направо.
  • Следим за текущей серией одинаковых символов: хранится последний символ и его длина.
  • При новом символе начинаем новую серию (добавляем его в итоговую строку).
  • Если символ повторяется, увеличиваем счетчик и добавляем символ в результат только пока длина серии не превысит K. Далее повторения пропускаем.

Сложность: время O(|S|), память O(|S|) для результата.

Код (C++17):

#include <bits/stdc++.h> using namespace std;

int main() { ios::sync_with_stdio(false); cin.tie(nullptr);

int K;
if (!(cin >> K)) return 0;
string S;
if (!(cin >> S)) return 0;

string res;
char last = '\0';
int cnt = 0;

for (char c : S) {
    if (c != last) {
        res.push_back(c);
        last = c;
        cnt = 1;
    } else {
        cnt++;
        if (cnt <= K) res.push_back(c);
    }
}

cout << res;
return 0;

}

Пример: Ввод: 2 uraaaaSuperrr Вывод: uraaSuperr

Задай свой вопрос

Напиши любую задачу или вопрос, а нейросеть её решит

Похожие вопросы 15

Бесплатно Мобильное приложение ГДЗ
Мобильное приложение ГДЗ

Задавай вопросы искуcственному интеллекту текстом или фотографиями в приложении на iPhone или Android

qr-codegoogle-playapp-store

Саша — ассистент в телеграмме

Ограничение по времени: 1 секунда Ограничение по памяти: 256 мегабайт Вы разрабатываете препроцессор текста для языковой модели. Пользователи иногда тянут буквы, например: coooool, yaaaay. Перед обучением модели и при обработке пользовательских сообщений такие повторения нужно нормализовать: каждая подряд идущая серия одинаковых символов должна иметь длину не больше К. По заданным К и строке S (состоящей из латинских букв) получите строку S', в которой длина каждой максимальной серии одинаковых символов не превосходит К. Не меняйте порядок символов и не удаляйте серии полностью. Формат входных данных Первая строка содержит натуральное число K > 1. Вторая строка содержит строку S из латинских букв (А…Z, а…2). Формат выходных данных Выведите исправленную строку. Ввод 2 uraaaaSuperrr Вывод uraaSuperr
Алгоритм: - Проходим по строке S слева направо. - Следим за текущей серией одинаковых символов: хранится последний символ и его длина. - При новом символе начинаем новую серию (добавляем его в итоговую строку). - Если символ повторяется, увеличиваем счетчик и добавляем символ в результат только пока длина серии не превысит K. Далее повторения пропускаем. Сложность: время O(|S|), память O(|S|) для результата. Код (C++17): #include using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int K; if (!(cin >> K)) return 0; string S; if (!(cin >> S)) return 0; string res; char last = '\0'; int cnt = 0; for (char c : S) { if (c != last) { res.push_back(c); last = c; cnt = 1; } else { cnt++; if (cnt <= K) res.push_back(c); } } cout << res; return 0; } Пример: Ввод: 2 uraaaaSuperrr Вывод: uraaSuperr