Re: Soft Speed Test ID:25001 ответ на 24894 |
Ср, 14 марта 2007 11:19 [#] |
|
|
Grey писал вт, 13 марта 2007 15:22 | 13 возможных карт дилера * число всех комбинаций по 5 из 51 = 30537780 раскладов. Для каждого расклада производится операция вычисления (по формулам) количества комбинаций дилера старше/младше/равно/пустая, даже в том случае, если у игрока пустая комбинация. На моем стареньком PIII-800 это занимает 32 секунды. | Я так понимаю честные циклы (5 вложенных, ну или 10 покороче, чтобы не вычислять масть-ранг) + один для карты диллера:
for(int i0=4;i0<52;i0++)
{
____for(int i1=3;i1<i0;i1++)
____{
________...
____}
}
с проверкой на выкинутые карты - это обязательное условие соревнования (нельзя оптимизировать)?
Прикинул, получилось за 838 (минус проверка на выкинутые, инкремент, подсчет результата, округлим 800) тактов проверяется <,>,=,0 (пустая, наверное, высчитывается из общей). Вроде очень мало. Сравню со своим приближенным методом.
|
|
|