Задача понятна: вывести n строк, чередуя две заданные строки: первая строка на нечетных позициях и вторая — на четных.
Как решить:
- прочитав n и две строки s1, s2;
- для i от 0 до n-1 печатать s1, если i четный, иначе — s2;
- это дает узор из n строк: s1, s2, s1, s2, ...
Сложность: время O(n), память O(n) если накапливать строки, или можно печатать сразу по мере формирования.
Код на Python:
def solve(): import sys data = sys.stdin.read().splitlines() if not data: return
# Первая строка — n
try:
n = int(data[0].strip())
except:
n = 0
# Вторая и третья строки — узор
s1 = data[1] if len(data) > 1 else ''
s2 = data[2] if len(data) > 2 else ''
# Формируем вывод
out = []
for i in range(n):
out.append(s1 if i % 2 == 0 else s2)
sys.stdout.write("\n".join(out))
if name == "main": solve()
Пример использования: Ввод: 5 Hello World Вывод: Hello World Hello World Hello