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
        ()

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

Архив записей в блогах:
Одна женщина, при необходимости дама, а в случае острой надобности - даже тетка, любила порядок. И, хотя по натуре она была скорее демократ, чем диктатор, но права непарных носков, грязной посуды и прочего бытового хлама на самоопределение и свободный выбор места жительства совершенно н ...
Вот по дороге едет ЗИМ и я им буду задавим. Верхняя Пышма. Выставка ретроавтомобилей. ...
Модели: Jac Monika Jagaciak Jankic @jacmonika Aylah Peterson @_aylah_ Фотограф: Sølve Sundsbø @SolveSundsbostudio Место встречи: Gods Own Junkyard Лондон Название: Blast to the Past Публикация: V Magazine 150 Fall 2024 ( Read more ... ...
БЕЗ КАРТИНКИ Оригинал взят у stanislav_05 в А. Собянин: "Политологи опять нам впаривают неправду об Украине" Я не согласен с г-ном Собяниным. Крайне не согласен, как в общих выводах, так и по мелочам. Будь случай обычный, я бы сразу написал, почему, на мой взгляд, большая ...
Моя Тесла была куплена в ноябре 2018, так что ей сейчас 27 месяцов.  Это Тесла Model 3 Mid-Range, у которой аккумулятор должен иметь начальную емкость в 62 кВтч.  Со временем емкость аккумуляторов падает, и по моим расчетам сегодня емкость моего аккумулятора около 56 ...