Задача понятна: прочитав число n и далее n слов, для каждого слова вывести строку из этого слова, повторённого трижды подряд.
Что нужно сделать
- Ввод: сначала число n, затем n слов (слова разделены пробелами или переводами строк).
- Для каждого слова w вывести строку w concatenated with w concatenated with w (w three times подряд).
- Каждый результат — в отдельной строке.
Пошаговый алгоритм
- Прочитать целое число n.
- Повторить n раз:
- прочитать очередное слово w;
- вывести строку w + w + w (то есть w * 3).
- Все строки должны идти друг за другом по одной в строке.
Сложность
- Время: O(sum длин слов), так как каждое слово печатается три раза.
- Память: O(1) дополнительной пометхки кроме входных данных и вывода.
Пример работы
Вход:
2
пррривет
птичка
Вывод:
пррриветпррриветпррривет
птичкаптичкаптичка
Вход:
3
Лёшенька
хоррроший
мальчик
Вывод:
ЛёшенькаЛёшенькаЛёшенька
хорррошийхорррошийхоррроший
мальчикмальчикмальчик
Простой пример реализации (Python)
- Вариант на чтение токенов:
- Вводим все данные через sys.stdin.read().split(), первая запись — n, далее n слов.
- Для каждого слова печатаем word * 3 на новой строке.
Ниже один из рабочих вариантов кода:
import sys
def main():
data = sys.stdin.read().split()
if not data:
return
n = int(data[0])
words = data[1:1+n]
for w in words:
print(w * 3)
if name == "main":
main()
Альтернативный простой вариант (построчный ввод):
import sys
def main():
n_line = sys.stdin.readline()
if not n_line:
return
n = int(n_line.strip())
for _ in range(n):
w = sys.stdin.readline().strip()
print(w * 3)
if name == "main":
main()
Вариант на C++ (если учили именно этот язык):
#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n;
if (!(cin >> n)) return 0;
string w;
for (int i = 0; i < n; ++i) {
cin >> w;
cout << w << w << w;
if (i + 1 < n) cout << '\n';
}
return 0;
}
Дополнительные примечания
- Под поддержкой Unicode (кириллица) Python нормально обрабатывает строки и вывод, поэтому проблем быть не должно.
- Если вход оформлен как несколько тестов подряд в одном файле, задача обычно решается по одному набору данных за запуск; приведённые примеры показывают разные примеры входов, но в реальном тестировании будет один набор на вход.