Задача понятна. Нужно вывести названия книг Васиных по полке по заданным индексам, по одному названию на строку. Индексация нулевая (0-based), как в примере.
Пошаговое решение:
- Прочитать N — количество книг на полке.
- Прочитать N строк с названиями книг и сохранить их в массив books.
- Прочитать K — количество книг, полученных Вася.
- Прочитать K индексов и для каждого индекса вывести соответствующее название из массива books[idx].
- Ввод и вывод должны соответствовать формату: каждое название на своей строке. Если K = 0 — вывод пустой.
Пример разборa на вашем примере:
- Ввод: 3 Всадник без головы Три мушкетёра Кортик 2 0 1
- books = ["Всадник без головы", "Три мушкетёра", "Кортик"]
- indices = [0, 1]
- Вывод: Всадник без головы Три мушкетёра
Пример реализации на Python (строго по формату входа, где ждём построчное чтение):
Код: import sys lines = [line.rstrip('\n') for line in sys.stdin] i = 0 N = int(lines[i]); i += 1 books = [] for _ in range(N): books.append(lines[i]); i += 1 K = int(lines[i]); i += 1 for _ in range(K): idx = int(lines[i]); i += 1 print(books[idx])
Пояснение к коду:
- читаем построчно, чтобы сохранить названия с пробелами.
- индексы 0-based, как в примере.
- выводим каждое название на отдельной строке.
Сложность:
- Время: O(N + K)
- Память: O(N) для хранения всех названий.
Если нужно, могу привести версию на другом языке (например, C++), или адаптировать под ввод с лишними пробелами/пустыми строками.