|
|
@@ -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 |
|
|
|
|