Sep. 4th, 2014

orleanz: (main)
Конечно, самый треш и угар на века остается Квиксорт на Хаскелле, это классика и превзойти ее невозможно

Но задача 18 приближается

Найти максимальную сумму вниз по пирамидке

http://projecteuler.net/problem=18

собственно, решение вот

step x y = zipWith (+) (zipWith max x (tail x)) y
result = last $ scanl1 step input


а полный текст, с получение исходных данных и печатью:

import Data.List.Split

-- input data
s = "75," ++
  "95 64," ++
  "17 47 82," ++
  "18 35 87 10," ++
  "20 04 82 47 65," ++
  "19 01 23 75 03 34," ++
  "88 02 77 73 07 63 67," ++
  "99 65 04 28 06 16 70 92," ++
  "41 41 26 56 83 40 80 70 33," ++
  "41 48 72 33 47 32 37 16 94 29," ++
  "53 71 44 65 25 43 91 52 97 51 14," ++
  "70 11 33 28 77 73 17 78 39 68 17 57," ++
  "91 71 52 38 17 14 91 43 58 50 27 29 48," ++
  "63 66 04 68 89 53 67 30 73 16 69 87 40 31," ++
  "04 62 98 27 23 09 70 98 73 93 38 53 60 04 23"

ar = map words $ splitOn "," s
input = reverse $ map (map (\x -> read x :: Int)) ar

-- solution
maximums a = zipWith max a (tail a)
step x y = zipWith (+) (maximums x) y
res = scanl1 step input

-- printing result
main = do print $ last res
orleanz: (main)
Делайте прогнозы

Мой прогноз - обложат полеты россиян зарубеж налогом в 300% процентов, чтобы Обама и НАТО подавились от злости.
orleanz: (main)
Неплохой момент, что и говорить.
orleanz: (main)
Ello es, Horacio, que en el cielo y en la tierra hay más delo que puede soñar tu filosofía.
orleanz: (main)
Некролог написанный на случай гибели Американской Лунной Миссии, который не пригодился

In event of moon disaster - так назывался нижецитируемый документ, который лег на рабочий стол Harry Robbins "Bob" Haldeman, White House Chief of Staff to President Richard Nixon - руководителя аппарата Белого дома администрации Никсона:



Page generated Aug. 13th, 2025 01:35 pm
Powered by Dreamwidth Studios