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

Пока падает звезда, нужно успеть загадать желание. Если в какой-либо строке была звезда (проверять "звезд" или "Звезд"), то вывести: "Загадывай!". Если звёзд не было, вывести:…

Запрос пользователя

Пока падает звезда, нужно успеть загадать желание. Если в какой-либо строке была звезда (проверять "звезд" или "Звезд"), то вывести: "Загадывай!". Если звёзд не было, вывести: "НЕТ". Формат ввода Вводятся строки, пока не будет введена строка "ВСЁ". Формат вывода Вывести "Загадывай!" или "НЕТ". Ввод Вывод Взошла на горы черна тень; Лучи от нас склонились прочь; Открылась бездна звезд полна; Звездам числа нет, бездне дна. ВСЁ Загадывай! Но где ж, натура, твой закон? С полночных стран встает заря! Не солнце ль ставит там свой трон? Не льдисты ль мещут огнь моря? ВСЁ НЕТ

Ответ нейросети
13 января 2026 00:27

Ниже подробное решение задачи с пошаговым объяснением и примером кода.

Цель задачи и подход

  • Нужно читать вход по строкам до строки ВСЁ и определить, встречалось ли в какой-либо строке целое слово "звезд" (игнорируем регистр: либо "звезд", либо "Звезд" и т.д.).
  • Важно трактовать "звезда" как отдельное слово, а не часть другого слова. К примеру, "Звездам" не должно считаться за наличие слова "звезд".
  • Если такое слово встречалось хотя бы в одной строке — выводим "Загадывай!", иначе "НЕТ".

Пошаговый алгоритм

  1. Заведём флаг found = False.
  2. Читаем строки до тех пор, пока не встретится строка "ВСЁ" (после приведения к точному совпадению без пробелов на краях).
  3. Для каждой строки проверяем наличие целого слова "звезд" независимо от регистра. Для надёжности используем регулярное выражение с границами слова: \bзвезд\b и флагом IGNORECASE.
  4. Если нашли, установим found = True и завершим ввод (можно сразу вывести результат).
  5. После обработки до ВСЁ печатать:
    • "Загадывай!" если found = True
    • "НЕТ" если found = False

Пример реализации на Python 3

import sys
import re

def main():
    # Поиск слова 'звезд' как отдельного слова, без учета регистра
    pattern = re.compile(r'\bзвезд\b', re.IGNORECASE)

    found = False

    for raw_line in sys.stdin:
        line = raw_line.rstrip('\n')
        if line.strip() == 'ВСЁ':
            break
        if pattern.search(line):
            found = True
            break

    if found:
        print("Загадывай!")
    else:
        print("НЕТ")

if __name__ == "__main__":
    main()

Пояснения к коду

  • r'\bзвезд\b' означает: найти слово 'звезд' целиком, с границами слова, чтобы не совпало с частями других слов (например, не считать "Звездам").
  • re.IGNORECASE обеспечивает поиск независимо от регистра.
  • Ввод продолжается до строки ВСЁ (после нее ничего не обрабатывается).

Проверка на примерах

  • Пример 1: Ввод: Взошла на горы черна тень; Лучи от нас склонились прочь; Открылась бездна звезд полна; Звездам числа нет, бездне дна. ВСЁ Результат: Зажигается наличие слова "звезд" в строке "Открылась бездна звезд полна;" → вывод: "Загадывай!"

  • Пример 2: Ввод: Но где ж, натура, твой закон? С полночных стран встает заря! Не солнце ль ставит там свой трон? Не льдисты ль мещут огнь моря? ВСЁ Результат: в строках нет отдельного слова "звезд" → вывод: "НЕТ"

Если у тебя есть другой пример или хочешь решение на другом языке (например, Java, C++), скажи — могу привести адаптированный вариант.