![]() |
|
Модераторы: volvo877, Snowy, MetalFan |
![]()
|
|
| Jojo |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 9.12.2003 Репутация: нет Всего: нет |
Есть задача для студента мехмата
я то уже не студент Пусть слово - это последоватетьность от 1 до 8 символов, не включающая пробелов Ввводится n слов А1, ... , An. Можно ли из переупорядочить так, чтобы получилась "цепочка", т.е. для каждого слова Aj его первая буква совпадать с последней буквой предыдущего слова, а последняя буква Aj с первой буквой последующего слова; соотвественно последняя буква последнего слова должна совпадать с первой буквой первого слова. В "цепочку" входят все n слов без повторений. Дать ответ в виде "Можно"/"Нельзя". Если такое упорядочение возможно, то вывести какую-нибудь цепочку слов. Слова при выводе разделяются пробелами! Решение нада пож-та Кому не лень Было б неплохо найти решебник к книге Ч.Уэзерелла "Этюды для программистов" |
|||
|
||||
| Domestic Cat |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5452 Регистрация: 3.5.2004 Где: Dallas, US Репутация: нет Всего: 172 |
Первое что пришло в голову (сил проверять уже нет), причем это только алгоритм:
берем 2 массива, далее перебираем все слова. Если обозначить одно слово буквой, первую букву слова через индекс 1, последнюю - 2, то в массивах буквы должны быть расположены так: а[] б[] а1 а2 б1 б2 ц1 ц2 ...... первый столбец - первый массив, второй - второй массив. Тогда для каждой буквы из первого массива а[i] должна быть такая же буква из второго массива (без учета б[i]). Перебрав все элементы из первого массива и найдя пару каждому, получаем ответ "можно". Потому алгоритм такой : перебираем все элементы массива а; внутри цикла помещаем второй цикл с перебором всех элементов массива б (за исключением случая i==j). Если а[i]== б[j] зануляем б[j] и переходим к а[i+1]. Если для а[i] нет пары б[j] ответ "нельзя". Чтобы вывести цепочку слов, достаточно при каждом обнаружении пары фиксировать номера элементов из обеих массивов. -------------------- |
|||
|
||||
| Pakshin A. S. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: нет Всего: 61 |
|
|||
|
||||
![]()
|
| Правила форума "Delphi" | |
|
|
Запрещается! 1. Обсуждать и делится взломанными компонентами или программным обеспечением 2. Публиковать ссылки на варез 3. Оффтопить
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |