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

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

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

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

Вопрос от Анонимного юзера 12 февраля 2026 07:04

Дано число N и N строк с именами. Затем записана ещё одна строка с именем. Программа должна вывести "ДА", если это имя есть среди N строк, иначе вывести "НЕТ". Ввод Вывод 5 Паша Нина Оля Коля Рома Оля ДА

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

12 февраля 2026 07:04

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

Что нужно сделать

  • Вводится целое N.
  • Затем идут N имен (строки).
  • Затем следует одно имя, которое нужно проверить.
  • Нужно вывести "ДА", если искомое имя встречается среди первых N имен, иначе вывести "НЕТ".

Пошаговое объяснение

  1. Считать число N.
  2. Считать N имен и сохранить их в структуру, позволяющую быстро проверить принадлежность. Лучший выбор — множество (set), потому что проверка наличия элемента в set быстрая.
  3. Считать искомое имя.
  4. Если имя есть в наборе — вывести "ДА", иначе вывести "НЕТ".
  5. Учесть, что дубликаты имен в списке не меняют результат (проверка по множеству игнорирует повторения).

Математическая/логическая часть

  • Время работы: O(N) на чтение и заполнение набора плюс O(1) в среднем на проверку принадлежности.
  • Память: O(N) для хранения имен в наборе.
  • Примечание по входу: предполагаем, что имена — это одиночные слова без пробелов. Если бы имена могли содержать пробелы, пришлось бы читать построчно и не использовать разделение по пробелам.

Пример решения на Python (подход с множеством)

  • Этот подход корректен для стандартных вариантов задач, где имена вводятся как отдельные слова.

Пример кода (Python 3):

  • Пример реализует описанный алгоритм и соответствует формату вывода "ДА"/"НЕТ".

Решение на Python

import sys

def main(): data = sys.stdin.read().split() if not data: return n = int(data[0]) # Сохраняем N имен в множество names = set(data[1:1+n]) # Имя для проверки query = data[1+n] print("ДА" if query in names else "НЕТ")

if name == "main": main()

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

  • data = sys.stdin.read().split() считывает всё входное и разбивает на токены по пробелам и переносам строк.
  • n = int(data[0]) — размер первой части.
  • data[1:1+n] — список из N имен.
  • data[1+n] — искомое имя.
  • print("ДА" если условие истинно, иначе "НЕТ").

Пример с данными из задачи Ввод: 5 Паша Нина Оля Коля Рома Оля Вывод: ДА

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

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

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

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

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

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

qr-codegoogle-playapp-store

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

Дано число N и N строк с именами. Затем записана ещё одна строка с именем. Программа должна вывести "ДА", если это имя есть среди N строк, иначе вывести "НЕТ". Ввод Вывод 5 Паша Нина Оля Коля Рома Оля ДА
Ниже подробное решение задачи с пошаговым объяснением и примером кода на Python. Что нужно сделать - Вводится целое N. - Затем идут N имен (строки). - Затем следует одно имя, которое нужно проверить. - Нужно вывести "ДА", если искомое имя встречается среди первых N имен, иначе вывести "НЕТ". Пошаговое объяснение 1) Считать число N. 2) Считать N имен и сохранить их в структуру, позволяющую быстро проверить принадлежность. Лучший выбор — множество (set), потому что проверка наличия элемента в set быстрая. 3) Считать искомое имя. 4) Если имя есть в наборе — вывести "ДА", иначе вывести "НЕТ". 5) Учесть, что дубликаты имен в списке не меняют результат (проверка по множеству игнорирует повторения). Математическая/логическая часть - Время работы: O(N) на чтение и заполнение набора плюс O(1) в среднем на проверку принадлежности. - Память: O(N) для хранения имен в наборе. - Примечание по входу: предполагаем, что имена — это одиночные слова без пробелов. Если бы имена могли содержать пробелы, пришлось бы читать построчно и не использовать разделение по пробелам. Пример решения на Python (подход с множеством) - Этот подход корректен для стандартных вариантов задач, где имена вводятся как отдельные слова. Пример кода (Python 3): - Пример реализует описанный алгоритм и соответствует формату вывода "ДА"/"НЕТ". # Решение на Python import sys def main(): data = sys.stdin.read().split() if not data: return n = int(data[0]) # Сохраняем N имен в множество names = set(data[1:1+n]) # Имя для проверки query = data[1+n] print("ДА" if query in names else "НЕТ") if __name__ == "__main__": main() Пояснение по коду - data = sys.stdin.read().split() считывает всё входное и разбивает на токены по пробелам и переносам строк. - n = int(data[0]) — размер первой части. - data[1:1+n] — список из N имен. - data[1+n] — искомое имя. - print("ДА" если условие истинно, иначе "НЕТ"). Пример с данными из задачи Ввод: 5 Паша Нина Оля Коля Рома Оля Вывод: ДА Если у вас будут дополнительные ограничения (например, нужно обрабатывать имена с пробелами или ввод через построчное чтение), скажите — адаптирую решение под них.