Задача понятна. Ниже подробное решение с объяснениями и примером на языке Python (подходит для общего случая).
Чего нужно добиться
- Читаем входные строки последовательно.
- Пока встречается строка "стоп" (без кавычек), для каждой другой строки выводим ту же строку с добавленным восклицательным знаком в конце.
- Как только встретили "стоп" — прекращаем вывод; саму строку "стоп" не выводим.
Алгоритм
- Пройти по входу построчно.
- Для каждой строки:
- если строка равна "стоп" (после удаления символов переноса строки), остановиться;
- иначе вывести эту строку с добавленным восклицательным знаком.
- Время работы: линейно по количеству строк до "стоп".
- Память: константная (stream-обработка, можно выводить сразу без накопления).
Пример на Python
- Функция solve читает из стандартного ввода и пишет в стандартный вывод.
def solve(): import sys for raw in sys.stdin: s = raw.rstrip('\n') if s == 'стоп': break print(s + '!')
Пояснения к коду
- raw – сырая строка из входа; rstrip('\n') удаляет только завершающий перевод строки, чтобы сравнение было корректным.
- Проверяем равенство s == 'стоп'. Если да — выходим из цикла.
- Иначе выводим строку s с добавленным '!'.
Пример Ввод: Привет Очень важно стоп
Вывод: Привет! Очень важно!
Если ввод пустой или строк перед "стоп" нет — программа просто ничего не выведет, что соответствует задаче.
Дополнительные заметки
- Если требуется работать с конкретным предметом/классом, стиль объяснения можно адаптировать, но здесь задача чисто алгоритмическая и не зависит от предмета и класса.
- Учитывайте кодировку при работе с кириллицей: в Python 3 строковые данные обычно в корректной UTF-8, проблемы возникнут только при явном неправильном вводе.