Алгоритм задачи с шарами и корзинами? - PullRequest
1 голос
/ 22 декабря 2009

Скажем, есть N человек, и у всех этих людей есть 1 корзина и неограниченное количество шаров. Они могут бросить мяч в чужие корзины.

Мы позволяем им бросать свои шары в чужие корзины, и мы придумываем такой сценарий:

Корзина человека Шарики из E, F, G, I, K, L, M, P

Корзина "B" человека Шарики из A, C, E, F, K, T, R, Z

'C' корзина человека Шарики от ......

и т.д ...

поэтому я хочу разработать алгоритм, чтобы выяснить, кто из них является друзьями. Например, если A, C, D и E являются друзьями, они должны бросать свои шары в корзины друг друга. Но в то же время они могут выбросить и корзину какого-то случайного незнакомца.

Я знаю, что это проблема оптимизации, специального решения нет, но я открыт для любой идеи начать все сначала.

Спасибо.

1 Ответ

1 голос
/ 22 декабря 2009

Друзья, вероятно, дадут друг другу мяч - отличная отправная точка.

for x,y in people:
    if (x contains y && y contains x):
        x & y are friends.
    else:
        skip.

Грубый псевдокод, напиши, что знаешь.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...