Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 1
Регистрация: 11.01.2018
Сообщений: 5
1

Изобретательный петя

29.01.2018, 21:32. Показов 552. Ответов 3
Метки нет (Все метки)

Петя нашел на чердаке старый телеграфный аппарат и приделал к нему хитроумное устройство, которое может печатать на телеграфной ленте определенное слово (обозначим его X). Петино устройство может напечатать на ленте это слово сколько угодно раз. Петя может заставить аппарат напечатать на ленте и любое другое сообщение, но для этого ему нужно разобрать свое хитроумное устройство, и после этого он уже не сможет печатать сообщение X. А самое главное, что напечатать даже один символ другого сообщения потребует от Пети больше усилий, чем напечатать на ленте слово X с помощью хитроумного устройства.

Петя хочет сделать так, чтобы всем казалось, что ему по телеграфу пришло сообщение Z. Для этого он может (строго в этой последовательности):

сколько угодно раз напечатать сообщение X
разобрать хитроумное устройство и посимвольно напечатать еще что-нибудь (назовем это Y)
оторвать и выбросить начало ленты так, чтобы на оставшейся ленте было напечатано в точности сообщение Z
Поскольку набирать отдельные символы сообщения Y довольно сложно, Петя хочет, чтобы в сообщении Y было как можно меньше символов.

Для лучшего понимания задачи смотрите примеры и пояснения к ним.

Входные данные
В первой строке вводится слово X, которое Петя может печатать с помощью хитроумного устройства сколько угодно раз. Во второй строке вводится сообщение Z, которое хочет получить Петя. Каждое сообщение состоит только из маленьких латинских букв и имеет длину не более 100 символов.

Выходные данные
Выведите минимальное по длине сообщение Y, которое Пете придется допечатать вручную.

Комментарии к примерам тестов

1. Сначала Петя два раза напечатает слово mama, потом к нему припечатает букву m, а затем отрежет и выбросит три начальных символа (mam). Ответом является допечатываемая отдельно буква m.

2. Казалось бы, Пете стоит сначала напечатать букву m, а затем слово ura, которое он умеет печатать. Однако для того, чтобы напечатать m, ему придется разобрать свое устройство, и печатать ura ему придется также посимвольно.

3. Казалось бы, Петя может напечатать слово computer, а затем отрезать и выбросить его конец — однако он не может так поступить, потому что отрезать и выбросить он может только начало ленты.

4. Пете достаточно один раз напечатать слово ejudge, а затем отрезать и выбросить букву e. Ничего посимвольно выводить ему не придется, поэтому ответом является пустая строка.

5. Достаточно трижды напечатать исходное слово и нужный результат будет получен. Ничего добавлять не надо, поэтому ответ – пустая строка.

Примеры
входные данные
mama
amamam
выходные данные
m
входные данные
ura
mura
выходные данные
mura
входные данные
computer
comp
выходные данные
comp
входные данные
ejudge
judge

выходные данные
входные данные
m
mmm
выходные данные
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.01.2018, 21:32
Ответы с готовыми решениями:

Петя криптограф
Здравствуйте, как обычно у студентов началась зачетная неделя, и вот преподаватель озадачил...

Петя решает задачи
Здравствуйте! Помогите, пожалуйста, решить задачу: На первую задачу Пете уйдет 1 минута, на...

Петя загадал 7 целых чисел: от -4 до 4 каждое
Петя загадал 7 целых чисел: от -4 до 4 каждое. Хитрый Коля предложил Пете составить сумму по...

Олимпиадная задача. Юный программист Петя обучает своего младшего брата арифметике
Карточки для счета Юный программист Петя обучает своего младшего брата арифметике. Петя...

__________________

Записывайтесь на профессиональные курсы C++ разработчиков
3
║XLR8║
1105 / 852 / 256
Регистрация: 25.07.2009
Сообщений: 4,180
Записей в блоге: 5
30.01.2018, 02:50 2
macheanin, Код в студию. Вопрос по дороге из кармана выпал?
0
0 / 0 / 1
Регистрация: 11.01.2018
Сообщений: 5
01.02.2018, 22:37  [ТС] 3
Всмысле?
0
1742 / 1335 / 1407
Регистрация: 28.10.2016
Сообщений: 4,267
01.02.2018, 22:43 4
Думаю, что будет в тему: Чего и зачем мы хотим от новичков
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.02.2018, 22:43

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

За сколько месяцев Петя накопит на компьютер, откладывая заданную часть денег, получаемых на карманные расходы?
Каждую неделю Петя получает сумму в размере S рублей на личные расходы, из них он тратит X% на...

В тексте заменить слово «Петя» на слово «Игорь»
Если в строке содержится слово «Петя», заменить его на слово «Игорь». Не используя replace и string.

Вася и Петя ограбили банк: вычислить, сколько монет украл Петя
Вася и Петя ограбили банк. Каждый из них смог вынести по одному мешку с золотом. Вскоре грабителей...

Задача Петя и числа.
На доске написано N натуральных чисел. Петя выбирает два из них и, если они одинаковые, одно из них...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.