solution to egg drop
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

18 lines
381B

  1. eggDrop :: Integer -> Integer -> Integer
  2. eggDrop n k
  3. | k == 1 || k == 0 || n == 1 = k
  4. | otherwise = 1 + (minimum $ map (\i -> f i) [1..k])
  5. where
  6. f i = max (eggDrop (n-1) (i-1)) (eggDrop n (k-i))
  7. -----------------
  8. -- gross io bs --
  9. -----------------
  10. main :: IO ()
  11. main = do
  12. l <- getLine
  13. let (n:k:_) = map read $ words l :: [Integer]
  14. putStrLn $ show $ eggDrop n k