ProjectEuler.net problem 54. Покер.

топ 100 блогов yantayga06.03.2011 Я сам человек не азартный, и в карты последний раз играл довольно давно, лет 15 назад, да и то, не в покер, а в преферанс. В общем, не по душе была мне эта задачка, посему и код получился немного уродлив. Желающие раскритиковать - всегда пожалуйста. :)

module where

DataList
DataOrd
DebugTrace

Val C2 C3 C4 C5 C6 C7 C8 C9 CT J Q K A (, , , , )

Suit H C S D (, , , , )

Card Card val Valsuit Suitderiving EqOrdShowvals map suits map allEqual = allEqual ccs= (ccs

[] True
(:) True
(::) succ == && (:)

cs maximum vals )

[] (, )
cs maximumBy comparing ) isRoyalFlush = cs [, , , , ] isFlush isStraightFlush = cs isFlush nthSameVal n map \-> xcs x) filter \-> x n allEqual vals )$ cs

cs maxByFst nthSameVal 4

cs ((, ) (, $ $ rest )$ $ cs isFlush = (csisStraight = (csisThreeOfAKind = $ cs isTwoPair = \xrest-> xmaxByFst nthSameVal 2) maxByFst nthSameVal 2

cs maxByFst nthSameVal 2

Rank N1 Val| Val Val| Val [] N3 [] St Val| [] FH Val FOC | Val RF 
            
            (, , )

cs
  isRoyalFlush = | cs SF maximum rvals | foc FOC extractHeadVal foc
  nnf && fh FH extractHeadVal fh(snd )
  isFlush = $ cs
  isStraight = $ cs
  nnf = (fst ) rvals snd )
  nnf && n22' N22 extractHeadVal n22(fst ) rvals snd )
  nnf = (fst ) rvals snd )
  otherwise N1 rvals where 
    f = $ $ cs'
    cs reverse sort vals nnf = $ $ x
    x not null snd foc isFourOfAKind fh isFullHouse n3 isThreeOfAKind n22 isTwoPair n22' snd n2 isOnePair readVal = readVal = readVal = readVal = readVal = readVal = readVal = readVal = readVal = readVal = readVal = readVal = readVal = readSuit = readSuit = readSuit = readSuit = readCard s1s2[]= (s1(s2readLine = rank , g2where 
    = s
    = $ readCard take ws
    = $ readCard drop ws
    
:: ()
= l readFile 
        let = l
        r map ls
        print length filter $ (()r
        ()

Оставить комментарий

Архив записей в блогах:
что я осталась и даже открыла собственный бизнес. (так по-русски вообще говорят?) Шутка! Я вернулась с «Острова Тысячи Разочарований». Нет, там хорошо. Нет, там красиво. Нет, там некогда скучать. Да, я обязательно поеду ещё. Я могу привести миллион ...
Репортаж на украинском ТВ..."...Вражеская ДРГ движется к нашему защитному посту. Вооружённые силы уничтожают группу, а одного российского военного берут в плен и уходят под прикрытием дымовой завесы" Смотришь, аж дух захватывает! Что называется, "как в кино"... Всё бы ничего, ...
Работаю сейчас на EXEED LX (это самый маленький из Экситон) и не покидает меня ощущение, что эта машина в тариф комфорт+ залетела с применением каких-то коррупционных схем. Нет - она конечно комфортная (но есть нюансики), но какая-то совсем маленькая по критериям тарифа. Мало того, что ...
Ссылка на все мои материалы, посвященные «белорусской тематике»: https://ukraineworld.info/ru/tag/belorussiya-rossiya?page=1 Сподвижник Бориса Ельцина, и экс-вице премьер либерального толка Альфред Кох с сожалением признал, что у него появились смутные подозрения, что «белорусская ...
Если помните, пару недель назад я показывала вот эту баночку?  ...