Новая Школа - онлайн-школа подготовки к ЕГЭ
Задача Задача №3556402
А
Аноним
31 января 2026 14:06 · публичный вопрос
А
Аноним

Есть последовательность фамилий учеников. Последовательность заканчивается словом СТОП. Выведи количество фамилий в последовательности. Ввод Вывод Иванов Петрова Сидорова 3

Ответ нейросети
31 января 2026 14:06

Задача понятна: считать количество фамилий до слова СТОП (само слово СТОП не входит в подсчет).

Пошаговое решение

  • Шаг 1. Читай последовательность построчно до тех пор, пока не встретишь строку со словом СТОП.
  • Шаг 2. Каждый раз, когда встречаешь строку с фамилией (то есть не СТОП), увеличивай счетчик на 1.
  • Шаг 3. Как только встретишь СТОП, остановись и выведи счетчик.
  • Примечание: для надежности можно обрезать пробелы по краям строк (strip) и сравнивать строку именно с "СТОП" в нужной раскладке. В примере используется точное сравнение с СТОП.

Пояснение на примере

  • Ввод: Иванов Петрова Сидорова
  • Обработаем по порядку: Иванов → счетчик = 1 Петрова → счетчик = 2 Сидорова → счетчик = 3 СТОП → остановка
  • Вывод: 3

Алгоритм (структура)

  • Инициализировать счетчик count = 0.
  • Для каждой строки line:
    • s = line.strip()
    • Если s == "СТОП": выйти из цикла
    • Если s не пустая строка: count += 1
  • Вывести count.

Сложность

  • Временная: O(n), где n — количество строк до СТОП.
  • Дополнительной памяти: O(1) (только счетчик).

Пример реализации на Python (вариант с чтением из входа)

  • Введите весь ввод построчно; выводите количество фамилий до слова СТОП.

import sys

count = 0 for line in sys.stdin: s = line.strip() if s == "СТОП": break if s: count += 1

print(count)

Дополнительные заметки

  • Если хотите сделать сравнение нечувствительным к регистру, можно использовать: if s.upper() == "СТОП": и аналогично для ожидания фамилий без зависимости от регистра.
  • Если вдруг вход не содержит СТОП, решение можно адаптировать, чтобы выводить count после завершения чтения всего ввода; по условию задачи это не требуется.