Задача понятна: прочитав число 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 нормально обрабатывает строки и вывод, поэтому проблем быть не должно.
- Если вход оформлен как несколько тестов подряд в одном файле, задача обычно решается по одному набору данных за запуск; приведённые примеры показывают разные примеры входов, но в реальном тестировании будет один набор на вход.