solution to egg drop
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

18 linhas
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