Ниже подробное решение задачи с пошаговым объяснением и примером кода на Python.
Что нужно сделать
- Вводится целое N.
- Затем идут N имен (строки).
- Затем следует одно имя, которое нужно проверить.
- Нужно вывести "ДА", если искомое имя встречается среди первых N имен, иначе вывести "НЕТ".
Пошаговое объяснение
- Считать число N.
- Считать N имен и сохранить их в структуру, позволяющую быстро проверить принадлежность. Лучший выбор — множество (set), потому что проверка наличия элемента в set быстрая.
- Считать искомое имя.
- Если имя есть в наборе — вывести "ДА", иначе вывести "НЕТ".
- Учесть, что дубликаты имен в списке не меняют результат (проверка по множеству игнорирует повторения).
Математическая/логическая часть
- Время работы: 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 Паша Нина Оля Коля Рома Оля Вывод: ДА
Если у вас будут дополнительные ограничения (например, нужно обрабатывать имена с пробелами или ввод через построчное чтение), скажите — адаптирую решение под них.