Понимаете, каждый год 31 декабря мы с друзьями разыгрываем подарки. Это у нас такая традиция…
Не всегда заранее известно, кто придет на новогоднюю вечеринку, сколько будет гостей и кем они будут. В кругу моих друзей эта ситуация повторялась из года в год.
Подарков на всех может не хватить, поэтому, чтобы никому не было обидно, однажды мы решили, что каждый захватит по одному «общественному» подарку. И на месте решим, кто кому и что дарит.
Всегда находились те, кто приносил в качестве сувенира зеркальце, губную помаду, шахматы. То есть, подарки, с заранее ограниченным множеством возможных получателей. Пришедшие на праздник пары не хотели дарить данный подарок друг другу, так как заранее знали, что у них заготовлено.
Каждый раз я садился и писал на коленке скрипт для подбора случайных пар дарителей и получателей. И каждый раз он, скрипт, терялся на следующий год. Но при этом появлялся новый, более совершенный. Он становился сложнее, появлялись обои, снежинки и прочая красота.
И вот, наконец, в этом году дошли руки увековечить накопленный опыт в области «новогоднего розыгрыша» в виде сайтика, которым я и хочу с вами поделиться.
В самом сайте нет почти ничего необычного, html + javascript. Есть английская версия. Создавался пару дней, поэтому не ругайте особо. Для нахождения пар используется рандомизированный поиск в глубину. Есть проблема со временем выполнения поиска при большом количестве ограничений. Если у кого-то найдутся добрые руки, буду рад коммиту: github.com/simbajoe/newyear.
Совсем немного времени осталось до Нового Года, католическое Рождество наступает, христианское разогревается, а старый новый год забивает трубку. Надеюсь, что кому-то данный новогодний сайт пригодится.
Всех с наступающим!
Ссылка на сайт: newyear.simbajoe.name.
Автор: simbajoe