Форум умных людей

Задачи и головоломки => Логические задачи и головоломки => Тема начата: Андрей Потапкин от Февраль 16, 2012, 16:55:49



Название: Один программист.
Отправлено: Андрей Потапкин от Февраль 16, 2012, 16:55:49
Программисту в очень длинном тексте требуется заменить все буквы "А" на буквы "Б", а все буквы "Б" - на буквы "А". Текстовый редактор позволяет заменить во всём тексте один произвольный набор символов на другой. Например, в результате замены "АА"->"БСАА" строка "АААААЛ" перейдёт в строку "БСААБСАААЛ". Как ему выполнить задачу?


Название: Re: Один программист.
Отправлено: Seamew от Февраль 16, 2012, 17:00:34
Заменить  "А"->"С", "Б"->"А", "С"->"Б".


Название: Re: Один программист.
Отправлено: iPhonograph от Февраль 16, 2012, 17:19:03
чтобы не испортить буквы С в остальном тексте

Показать скрытый текст


Название: Re: Один программист.
Отправлено: Anatol. от Февраль 16, 2012, 17:33:35
Ну или так, что короче:

Показать скрытый текст


Название: Re: Один программист.
Отправлено: Sirion от Февраль 16, 2012, 17:59:36
Anatol., лажа

iPhonograph, а если неизвестно, как выбираются фрагменты для замены?
если при АА -> Б мы не знаем, превратится ААА в АБ или в БА?


Название: Re: Один программист.
Отправлено: iPhonograph от Февраль 16, 2012, 18:13:34
судя по условию, фрагменты выбираются с начала текста


Название: Re: Один программист.
Отправлено: Sirion от Февраль 16, 2012, 18:19:34
судя по условию - да
фактически, я предлагаю новую задачу
пусть алгоритм замены писал кто-то очень е%анутый
пусть он (алгоритм) начинает искать заменяемый фрагмент со случайного места текста, затем, если найдёт, ищет второй опять же со случайного места, и так далее, а затем все их разом заменяет
при этом АА->Б может превратить АААААА как в БББ, так и в АББА или вообще в АБАБ
можем ли мы осуществить замену при таких условиях?


Название: Re: Один программист.
Отправлено: iPhonograph от Февраль 16, 2012, 19:15:39
можем

Показать скрытый текст



Название: Re: Один программист.
Отправлено: Anatol. от Февраль 17, 2012, 10:59:43
Anatol., лажа

Аргументируйте


Название: Re: Один программист.
Отправлено: iPhonograph от Февраль 17, 2012, 15:12:43
Anatol., лажа

Аргументируйте
что случится с текстом "_1>>2__1>>2_" после ваших замен?


Название: Re: Один программист.
Отправлено: Anatol. от Февраль 17, 2012, 15:41:59
Anatol., лажа
Аргументируйте
что случится с текстом "_1>>2__1>>2_" после ваших замен?

В изначальном тексте такой последовательности "_1>>2_" не было и быть не может.
Если же мы допускаем, что может, то используем вместо нее последовательность
"_1>>?>>9>>ЁПРСТ>>ababagalamaga>>`!@#$%^&*()>>2_"


Название: Re: Один программист.
Отправлено: iPhonograph от Февраль 17, 2012, 16:10:39
Anatol., лажа
Аргументируйте
что случится с текстом "_1>>2__1>>2_" после ваших замен?
В изначальном тексте такой последовательности "_1>>2_" не было и быть не может.
Почему это не может быть?
Такая последовательность есть даже на этом форуме :)


Название: Re: Один программист.
Отправлено: Anatol. от Февраль 17, 2012, 16:22:03
Читаем дальше товарищи ))


Название: Re: Один программист.
Отправлено: iPhonograph от Февраль 17, 2012, 16:38:33
ты сильно удивишься, но последовательность "_1>>?>>9>>ЁПРСТ>>ababagalamaga>>`!@#$%^&*()>>2_"
тоже есть на этом форуме :)


Название: Re: Один программист.
Отправлено: Anatol. от Февраль 17, 2012, 16:39:56
)) ничуть


Название: Re: Один программист.
Отправлено: iPhonograph от Февраль 17, 2012, 16:43:38
по условию, текст может быть любым
но твоим алгоритмом не получится корректно поменять местами буквы а и б в тексте, содержащем архив этого форума


Название: Re: Один программист.
Отправлено: Anatol. от Февраль 17, 2012, 16:47:49
Я использую конфигурацию, которой нет на этом форуме. Где-то такую:  Показать скрытый текст