Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Задача об упорядочиваниях, как ее решать? 
:(
    Опции темы
alxxx
Дата 31.5.2007, 13:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Задача такая:

Во входном файле имеется список переменных (переменные - только одиночные буквы), например:
x y z
Далее следует набор ограничений на пременные в форме  a<b
Например:
x<y  x<z 

Задача: вывести все упорядочивания имеющихся переменных так чтобы они удовлетворяли ограничениям, то есть то что меньше стоит ЛЕВЕЕ того что больше
Например 
x y z
x z y

Или еще такой пример:

a b f g
a<b b<f

результат:
a b f g
a b g f
a g b f
g a b f

PM MAIL   Вверх
alxxx
Дата 31.5.2007, 21:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Собственно, первое, что приходит на ум это тупо перебрать все перестановки и для каждой перестановки проверить ограничения.   Но в условии сказано, что переменных может быть максимум 20 штук. Получается 20! перестановок, а это мама не горюй. 
Нет ли какого-нибудь более эффективного алгоритма?
PM MAIL   Вверх
Golda
Дата 1.6.2007, 20:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 460
Регистрация: 26.3.2007
Где: Ариель, Израиль

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



Не слишком красиво, но до появления лучшей идеи сойдет. Введите понятие номера переменной в перестановке и, если первые k переменных не удовлетворяяют условиям, все множество перестановок, соответствуее им, отбрасывается  


--------------------
"For every problem, there exists a simple and elegant solution which is absolutely wrong." -- J. Wagoner, U.C.B. Mathematics
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

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


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

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


 




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


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

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