Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Надо написать алгоритм выборки уникальных значений пар ID пользователей "От кого - кому", как в "Тайном Санте", то есть, с условием уникальности  в каждой итерации. Данные по каждой выборке сохраняются в БД, и каждая последующая выборка сравнивается с 

предыдущими. Количество ID может рандомно меняться (могут добавляться или удаляться пользователи), поэтому каждая операция сравнения должна 

учитывать предыдущие результаты. "Отправитель" не может являться "получателем"

I (1-2, 2-3, 3-4, 4-1)

II (1-3, 2-4, 3-1, 4-2)

II (1-4, 2-1, 3-2, 4-3)

При достижения лимита, "отправителю" добавляется индекс, после этого, он считается уникальным "отправителем". Количество пар строго должно равняться количеству ID в массиве.

III(1a-2, 2a-3, 3a-4, 4a-1)

IV (1a-3, 2a-4, 3-5, 4a-2, 5-1)

...

PS предусмотреть вариант, что бы не выпадала комбинация, когда "отправитель" является единственным вариантом получателя 

1-2, 2-3, 3-1 - 4-? 

5 лет назад
aristov
Михаил 
42 года
18 лет в сервисе
Был
4 года назад

Заявки фрилансеров

Дмитрий
 
50 лет
17 лет в сервисе
Был
2 дня назад
364 отзыва
5 лет назад
Саак
 
35 лет
5 лет в сервисе
Был
5 лет назад
3 отзыва(-1)
5 лет назад
Дмитрий
 
30 лет
5 лет в сервисе
Был
2 месяца назад
52 отзыва(-1)
5 лет назад
Дмитрий
 
33 года
11 лет в сервисе
Был
24 дня назад
47 отзывов
5 лет назад