跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 如何实现一个欧冠 16 强抽签模拟器?
未分類
16 1 月 2020

如何实现一个欧冠 16 强抽签模拟器?

如何实现一个欧冠 16 强抽签模拟器?

資深大佬 : yazinnnn 59

今年欧冠小组赛结束了,自己想做一个抽签模拟器,发现水平不够做不出来,有没有大佬帮忙提供一个实现思路

需求是这样的:

  • 先抽小组第二,然后抽小组第一的对手
  • 同小组回避
  • 同联赛回避
  • 不能让抽剩下的队伍无法比赛

前三个都好办,写个 filter 就行,但是第四个条件要用回溯算法来判断抽签剩下的队伍是否能比赛,举个例子:

最后还剩 4 支队伍 1 支 西甲 小组第二   1 支 英超 小组第二  1 支 德甲 小组第一  1 支 英超 小组第一  抽出西甲小组第二后,就只能抽英超小组第一 因为如果抽德甲小组第一会造成剩下两只队伍都是英超球队 

附今年欧冠小组赛战绩

A  1 巴黎 法甲 2 皇马 西甲  B 1 拜仁 德甲 2 热刺 英超  C 1 曼城 英超 2 亚特兰大 意甲  D 1 尤文 意甲 2 马竞 西甲  E 1 利物浦 英超 2 那不勒斯 意甲  F 1 巴萨 西甲 2 多特 德甲  G 1 莱比锡 德甲 2 里昂 法甲  H 1 瓦伦西亚 西甲 2 切尔西 英超  

大佬有話說 (10)

  • 資深大佬 : kickcandy

    这是欧足联派人来了?

  • 資深大佬 : Muniesa

    遇事不决 GitHub https://github.com/eminga/cldraw

  • 主 資深大佬 : yazinnnn

    @kickcandy
    欧足联直接黑箱了需要派我来?

    只是自己想写个程序测试一下各种对阵情况的概率,然后发现基础薄弱,半路出家的码农连这么简单的算法问题都解决不了,再不深造怕是只能当一辈子 crud boy 了

  • 資深大佬 : Defined

    @yazinnnn 要测概率不用那么复杂,先只考虑小组第一对小组第二这一个限制,一共就只有 8*7*6…*2*1 种,把这些都枚举出来,然后判断下符不符合同组、同联赛回避的规则就好了

  • 主 資深大佬 : yazinnnn

    @Defined

    https://bbs.hupu.com/31222242.html
    https://twitter.com/2010MisterChip/status/1204879583457218564/photo/1

    github 上的概率和 twitter 的概率算得不一样

    我是想算出来所有可能的结果集,然后模拟过程循环 100 万次实际测试一下概率,结果卡在了获得所有的结果集上…

    我想得到这种概率
    每种结果集的概率,无视抽签顺序
    每种结果集的概率,考虑抽签顺序
    各支队伍对阵的概率

    github 的测试只能获得各支队伍对阵概率,我还看不出对错…

    唉,我就是个辣鸡(⊙_⊙)

  • 資深大佬 : CrisTao

    把满足前三种的全部算出来就行了,然后迭代一下,看是否存在不满足第四种条件的,将其移除

  • 主 資深大佬 : yazinnnn

    @CrisTao
    渣渣求一下迭代实现回溯的伪代码(⊙_⊙)

  • 資深大佬 : maichael

    暴力穷举

  • 資深大佬 : zaima

    把所有排序都算出来,逐一遍历,再排除错误的分组。按你的用按抽签的逻辑去算的话,感觉情况会比较复杂

  • 資深大佬 : jyyx

    无聊写了一个
    https://gist.github.com/jytaso/16709eca12c5cdee1e4b3a9a8f14d930

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具