20 декабря 2011 г.

Голосование

На повестке дня - N вопросов.
Пользователь может одобрить или отклонить (проголосовать) только по одному из вопросов, а по каждому из оставышихся:
  • либо ничего не делать, тогда вопрос переносится на следующий день;
  • передать вопрос на голосование другому пользователю (другу), который, по его мнению, более компетентен в решении данного вопроса, т.е. "передать голос";
  • отказаться от голосования и передачи голоса.
Вопрос, по которому проголосовали (отказались голосовать), получает (удаляет) как голос проголосовавшего пользователя, так и все голоса тех, кто передал свои голоса этому пользователю для голосования по этому вопросу.
При возникновении замкнутого цикла переданных голосов (например, пользователь А передал голос пользователю Б, а пользователь Б передал голос пользователю А), данные голоса удаляются.
Голосование по вопросу завершается, когда по нему проголосует P% пользователей.
На следующий день на повестку дня добавляется K вопросов и процесс повторяется.

Комментариев нет: