Я пытаюсь найти эффективное решение для следующего вопроса:
Терминология:
Ранг: 1-13, где 11 = Джек, 12 = Королева, 13 = Король
масть: H = червы, C = трефы, D = алмазы, S = пики
"WishCard": карта, которая может носить любой ранг / масть в соответствии с wi sh игрока без дубликата карты.
Имеется от 2 до 7 карт, и по крайней мере от 0 до 7 из них определены как «WishCard», какова наилучшая комбинация карт, которую игрок может иметь в указанное c время.
Examples:
Stage: Pre-Flop
Hand[4C,*] -> Hand[4C,4H] | Pair
Stage: Flop
Hand[4C,*], Shared[*,10H,5C] -> Hand[4C,10C], Shared[10D,10H,5C] | 10 Three of a kind
Stage: Turn
Hand[4C,*], Shared[*,10H,5C,1S] -> Hand[4C,1C], Shared[1D,10H,5C,1S] | Ace Three of a kind
Stage: River
Hand[4C,*], Shared[*,10H,5C,1S,6C] -> Hand[4C,8C], Shared[7C,10H,5C,1S,6C] | 4C-8C Straight Flush
Я чувствую, что грубое принуждение потребует вечности. Есть ли более быстрый способ его расчета?