Задача понятна: дано имя двумя мушкетёрами, склеенных друг с другом в одну строку (без пробелов, в любом порядке). Нужно вывести имя третьего мушкетёра.
Пошаговый разбор
- Есть три имени: Атос, Портос, Арамис.
- Входная строка состоит из двух из этих имён, конкатенированных друг за другом (например: АтосПортос или ПортосАрамис и т. д.).
- Чтобы узнать третье имя, найдём, какие из трёх имён встречаются в строке как подстроки.
- Второе имя встречается тоже, ведь строка состоит из двух имён. Третьего имени в строке нет. Следовательно, то имя из трёх, которое не встречается в строке, и есть искомое третье имя.
Пример
Вход: "ПортосАрамис"
В строке встречаются подстроки "Портос" и "Арамис" → недостающее имя: "Атос".
Вход: "АтосПортос"
В строке встречаются "Атос" и "Портос" → недостающее имя: "Арамис".
Алгоритм
- Задать список имён: ["Атос", "Портос", "Арамис"].
- Прочитать входную строку s.
- Найти те имена, которые встречаются в s как подстроки.
- Выбрать имя из трёх, которое не встречалось в s.
- Вывести найденное имя.
Псевдокод names = ["Атос", "Портос", "Арамис"] s = ввод() present = [name for name in names if name in s] missing = [name for name in names if name not in present][0] вывод(missing)
Пример реализации на Python names = ["Атос", "Портос", "Арамис"] s = input().strip() present = [name for name in names if name in s]
должен быть ровно один отсутствующий
missing = [name for name in names if name not in present][0] print(missing)
Советы
- Убедитесь, что вход действительно использует те же орфографические варианты имён (Атос, Портос, Арамис). Если в условиях применяются латиницей или другой регистр, адаптируйте имена соответственно.
- Этот подход работает для любых двух имён из трёх и не требует знания порядка склеивания.
Если хочешь, могу привести конкретные тесты или помочь адаптировать решение под конкретный язык программирования и формат входных данных.