Я работаю над приложением PHP, которое находит все возможные способы обмена картами. у каждого пользователя есть хотя бы одна карта. Когда пользователь запрашивает карту, приложение показывает ему все возможные способы поменять свою карту на карту, которую он запросил.
Допустим, что:
user 1 has card type A
user 2 has card type B
user 3 has card type C
И предположим, что:
user 1 wants card type C
user 2 wants card type A
user 3 wants card type B
Если пользователь 1 запрашивает карту C, единственное решение:
user 1 gives user 2 his card
user 2 gives user 3 his card
user 3 gives user 1 his card
Но что, если бы были два других пользователя:
user 4 has card type B & wants card type A
user 5 has card type C & wants card type B
Теперь, если пользователь 1 запрашивает карту C, есть еще одно решение помимо указанного выше, а именно:
user 1 gives user 4 his card
user 4 gives user 5 his card
user 5 gives user 1 his card
Будет НЕТ ограничений на количество карт, которые пользователь может иметь или запрашивать. Пока что я создал две таблицы SQL. Таблица «карты» отслеживает каждый идентификатор пользователя и идентификатор карты. Таблица «запросы» отслеживает каждый идентификатор пользователя и желаемый идентификатор карты.