Просмотр исходного кода

added naive for comparison

master
Thorn Avery 3 лет назад
Родитель
Сommit
250b891383
3 измененных файлов: 18 добавлений и 0 удалений
  1. +1
    -0
      .gitignore
  2. Двоичные данные
      benchmark.png
  3. +17
    -0
      naiveEgg.hs

+ 1
- 0
.gitignore Просмотреть файл

@@ -2,3 +2,4 @@
*.o
*.swp
eggdrop
neggdrop

Двоичные данные
benchmark.png Просмотреть файл

До После
Ширина: 367  |  Высота: 130  |  Размер: 4.8KB

+ 17
- 0
naiveEgg.hs Просмотреть файл

@@ -0,0 +1,17 @@
eggDrop :: Integer -> Integer -> Integer
eggDrop n k
| k == 1 || k == 0 || n == 1 = k
| otherwise = 1 + (minimum $ map (\i -> f i) [1..k])
where
f i = max (eggDrop (n-1) (i-1)) (eggDrop n (k-i))

-----------------
-- gross io bs --
-----------------

main :: IO ()
main = do
l <- getLine
let (n:k:_) = map read $ words l :: [Integer]
putStrLn $ show $ eggDrop n k


Загрузка…
Отмена
Сохранить