Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Интересная логическая задача, Задачка на 40 баллов ... 
:(
    Опции темы
Denny
Дата 17.12.2005, 12:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 46
Регистрация: 9.12.2005
Где: Тверская обл.

Репутация: нет
Всего: нет



Интересная задача, ГОРОДА

Допустим есть город САРАТОВ, название заканчивается на букву В, значит требуется назвать другой город, у которого в названии первая буква В, ну и далее по аналогии (думаю все помнят эту детскую игру). Название не может начинаться с твёрдого знака!!! в этом случае название начинается с предпоследней буквы. Повторять названия НЕЛЬЗЯ!
Надо написать программу или хотя бы алгоритм, которая из TXT файла читала названия городов и постоила цепочку максимальной длинны и запишет её в новый файл.
PM MAIL   Вверх
Temp
Дата 17.12.2005, 15:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 577
Регистрация: 12.1.2003

Репутация: нет
Всего: -3



а в чём собственно вопрос ?


--------------------
<удалено администрацией>
PM MAIL ICQ   Вверх
Denny
Дата 17.12.2005, 16:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 46
Регистрация: 9.12.2005
Где: Тверская обл.

Репутация: нет
Всего: нет



Цитата

а в чём собственно вопрос ?

Помогите алгоритм составить, а может и решение подскажите. А то торможу я.
PM MAIL   Вверх
Mal Hack
Дата 17.12.2005, 21:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 1
Всего: 261



Цитата(Denny @ 17.12.2005, 12:04)
Допустим есть город САРАТОВ, название заканчивается на букву В, значит требуется назвать другой город, у которого в названии первая буква В, ну и далее по аналогии (думаю все помнят эту детскую игру).

Вот тебе и алгоритм.
PM ICQ   Вверх
Diesel Draft
Дата 18.12.2005, 00:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 876
Регистрация: 18.1.2005
Где: Lviv, Ukraine

Репутация: -1
Всего: 5



1.Береш первый город
2виводим назву города
3.Узнаем какая последняя буква
4. Ищем в списке город з таким названием
5. стираем город з списка (штобы не повторялса)
6. виводим назву города
7. если список не пуст переходим на 3


--------------------
НЕДОМА в маси 
PM MAIL WWW ICQ GTalk   Вверх
lovermann
Дата 18.12.2005, 02:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 285
Регистрация: 28.12.2004
Где: Прага

Репутация: нет
Всего: 8



Вопрос же ясно задан - построить самую длинную цепочку. А вы тут про что?...
PM WWW ICQ   Вверх
Denny
Дата 18.12.2005, 16:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 46
Регистрация: 9.12.2005
Где: Тверская обл.

Репутация: нет
Всего: нет



Вот Именно МАКСИМАЛЬНОЙ ДЛИНЫ.
Здесь то я и сел в лужу. smile
PM MAIL   Вверх
Mal Hack
Дата 18.12.2005, 17:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 1
Всего: 261



Делаем массив городов, сортируем по алфавитному порядку.
Начинаем с какой-то буквы.
Выбираем город на эту букву (первый который попадается). Записываем его в строчку, удаляем из массива, берем его последнюю букву и опять ищем в массиве слово.

Можно сделать как фичу, что если есть несколько городов на одну букву, то мы стараемся из них выбрать тот, последняя буква которого доаст продлжение уепочки, т.е. на нее будет начинаться какое-то слово.
PM ICQ   Вверх
Temp
Дата 18.12.2005, 17:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 577
Регистрация: 12.1.2003

Репутация: нет
Всего: -3



такого алгаритма наверное нет, только перебором,
хотя учитывая кол-во слов в базе это жулкий цикл.

или перебор включать когда цепочка составленна и слова остались, вернуться назад, попытаться их вставить туда и продолжить перебор.


--------------------
<удалено администрацией>
PM MAIL ICQ   Вверх
Mal Hack
Дата 18.12.2005, 18:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 1
Всего: 261



Цитата(Temp @ 18.12.2005, 17:45)
такого алгаритма наверное нет, только перебором,

Не совсем. Перебор для строк можно сократить, к примеру, поиск делать методом половинного деления. Если очень много городов, то через внешний массив с индексами для поиска.
PM ICQ   Вверх
Temp
Дата 18.12.2005, 19:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 577
Регистрация: 12.1.2003

Репутация: нет
Всего: -3



Цитата
поиск делать методом половинного деления

это как?

Можно например сперва составить цепочку с именами начинающемися на "неудобные" буквы (Ц, Ч, Ф) сложность будет именно их пристроить, а остолькое уже проще приложить.


--------------------
<удалено администрацией>
PM MAIL ICQ   Вверх
Mal Hack
Дата 18.12.2005, 20:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 1
Всего: 261



Цитата(Temp @ 18.12.2005, 19:24)
это как?

Сам метод половинного деления знаешь? Только тут со строками работаешь.

Цитата(Temp @ 18.12.2005, 19:24)
Можно например сперва составить цепочку с именами начинающемися на "неудобные" буквы (Ц, Ч, Ф) сложность будет именно их пристроить, а остолькое уже проще приложить.

Не, не катит.
PM ICQ   Вверх
Diesel Draft
Дата 18.12.2005, 23:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 876
Регистрация: 18.1.2005
Где: Lviv, Ukraine

Репутация: -1
Всего: 5



Есть алгоритм поло-перебор: когда создаетса дерева з возможных вареантов.
увеличеваетса скорость но и увеличуетса память smile


--------------------
НЕДОМА в маси 
PM MAIL WWW ICQ GTalk   Вверх
Alx
Дата 19.12.2005, 01:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: нет
Всего: 78



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

например:

саратов + вологда + архангельск + киев + вильнюс -> нет на "с"
саратов + вологда + архангельск + киев + владимир + рим -> нет на "м"
саратов + вологда + архангельск + киев + владимир + рим + москва -> нет на "а"
саратов + вологда + архангельск + киев + владимир + рим -> нет на "а" кроме "москва"
саратов + вологда + архангельск + киев + владимир -> нет на "р" кроме "рим"
саратов + вологда + архангельск + киев- > нет на "в" кроме "владимир"
саратов + вологда + архангельск + курск + кёльн + новосибирск + суздаль + львов + владимир + рим + москва

и т.д.

и сохранять все таблицы а потом брать самую длинную
или бред? smile

Это сообщение отредактировал(а) Alx - 19.12.2005, 01:40


--------------------
PM MAIL WWW ICQ   Вверх
Mal Hack
Дата 19.12.2005, 02:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 1
Всего: 261



Цитата(Alx @ 19.12.2005, 01:39)
и сохранять все таблицы а потом брать самую длинную

Да, это самый верный способ, но таких комбинаций получится ужас какой. Ну может получиться в 70% случаев, а следовательно вариант отпадает, т.к. ПХП просто упадет.
PM ICQ   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0533 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.