微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

C++ 扑克手串组合移除

如何解决C++ 扑克手串组合移除

跟注范围存储在这样的函数中,其中 KK+ 表示口袋对子 KK 和更好

const char* prw_preflop_ICMrange[] = { 
"AA+","KK+","KK+,AKs",}

我想写一个函数,从对手的范围中删除我自己持有的卡牌组合,例如:

我持有“Ac8d”,对手的范围是“KK+,AKs”,那么函数应该循环遍历他的跟注范围,并从 AA 中移除 3 个组合和从 AK 中移除 1 个组合。同样,它应该遍历所有 Ax 和 8x 手牌的可能性,并删除涉及 Ac 和 8d 的组合。 该函数应该返回一个整数和我对手的实际调用范围,例如:
(16 连击 - 4 连击)/(1326 连击 - 101 连击) = 0.0098 (他的 0.0121 跟注范围实际上由于弃牌而更窄)

你怎么能做到这样的事情?

解决方法

创建一个生成所有组合的函数,然后使用该函数用生成的值填充 std::vector<std::string> 的实例。

使用预先填充的向量作为返回组合计数的函数的输入。函数不应从列表中删除任何内容,只计算满足条件的出现次数,因为您对所有组合不感兴趣,而是对组合数量感兴趣。

如果你真的想要组合,函数应该构建一个新的向量并返回它,而不是从向量中删除值。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?