Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Алгоритмы > поиск всех цепочек фирм


Автор: kuzyara 19.10.2009, 15:19
День добрый, знатоки!  smile 

Недавно встретился вот с такой задачей:

Код

Есть несколько фирм, каждая из них продает и покупает какой-то товар. Для прост[I]a[/I]ты товары будут a, b, c, d и т.д. ))

firm1 : buy [I]a,b[/I] sell [I]a,c[/I]
firm2 : buy [I]b [/I]sell [I]а[/I]
firm3 : buy [I]a,c,d[/I] sell [I]a,b[/I]

Найти все возможные замкнутые цепочки фирм.

Например фирма firm1 продаёт товар [I]С [/I]фирме firm3 , та в свою очередь продает например отвар [I]В [/I] фирме firm2 , та в свою очередь продаёт свой товыр первой фирме. Всё, цепочка замкнулась.

Ещё возможные цепочки:
firm2 -> firm3
firm1 -> firm2 и т.д. 

Естественно фирм и товаров будет много.


Я уже реализовал решение этой задачи перебором, где вместо фирм использовал символы, и работал со строками 1, 12, 123, 13, 132, 2, 21, 213, 23, 231, 3, ... 321 (мне это легче всего показалось...). Но так как это долго, доработал чтобы после данного символа можно было ставить только тот... только ту фирму которая может купить товар у данной. Вот так вот собираю строку и даю на выход...

Внимание, вопрос! smile 
Есть ли готовые алгоритмы, подходящие для этой задачи?
---------------------------------
ап
ну поскажите, как ещё её пожно решить?

Автор: kuzyara 21.10.2009, 14:40
это же гамильтоновы циклы!!!
а мне так никто и не подсказал...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)