- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我的问题:我想做一个“友好”的彩票过程。如果可能,该算法将平均分配奖品。这对于每一个奖品都买票的人来说可能会被认为是不公平的,因为他会更灵活地赢得冷门奖品,但不要紧,我们可以说奖品大致相同。该算法将有助于消除方差并减少赢得奖品的掷骰子。 (是的,无聊)
我将举办 N
场比赛,你可以赢得奖品。人 M
每 N
可以买一张票。
举个例子,这里有奖品和已经买票的人:
Prize1=[Pete,Kim, Jim]
Prize2=[Jim, Kim]
Prize3=[Roger, Kim]
Prize4=[Jim]
有4个奖品,4个唯一名称,应该可以平均分配。
这个例子可能很容易解决,你应该在 15 秒内找到它,但是当 M
和 N
增加时它会变得更糟。
我正在尝试制作一个通用算法,但这很难。我需要一些好的提示,甚至更好的解决方案或解决方案的链接。
最佳答案
理论:你有一个 Bipartite graph .你必须找到一个 Perfect matching .如果满足以下条件,则图中存在完美匹配:
如果存在完美匹配,您可以运行 Hungarian algorithm找到它。
关于php - 均匀分配 "prizes"/无方差彩票的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5520598/
我的代码看起来很业余,因为我是一名二年级的软件工程学生。 我创建了一个彩票号码生成器,并注意到奇怪但一致的结果。我的程序尝试匹配之前的欧洲百万彩票抽奖号码。我记录了尝试的次数,还记录了匹配 3、4、5
Scanner input = new Scanner(System.in); Random random = new Random(); System.out.print("Enter a numb
所以我正在模拟彩票。我生成 0 到 40 之间的 6 个数字,并将它们显示在 html id“生成”中。我的问题是,如果我第二次单击“生成”(在我的 html 页面中),之前生成的数字仍然是数组的一部
我正在尝试解决彩票号码问题。有一张 table 卡片,上面有彩票号码: 表格:卡片 +----+----+----+----+----+----+ | ID | b1 | b2 | b3 | b4 |
我是一名优秀的程序员,十分优秀!