Re: Самое быстрое определение покерной комбинации ID:24586 ответ на 24521 |
Сб, 9 сентября 2006 11:34 [#] |
|
|
А зачем иметь массив 52^5?
Достаточно иметь 13^5=371293 элементов. Имеем пятерку карт, разделяем отдельно на масти и номиналы. Перемножаем масти (их всего 4). У флешей произведение мастей всех 5 карт=1^5, 2^5, 3^5, 4^5. Если произведение не равно этим константам, значит не флеш. По номиналам определяем все кроме флешей, стритфлешей и роялей. Т.е. определяем нет игры, ТК, пара и т.д. как ячейка в массиве М(а[1],a[2],a[3],a[4],a[5]). За одно обращение к массиву и одно произведение 5 чисел определяем силу руки.
|
|
|