Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import Data.List
- groupInto n [] = []
- groupInto n l = take n l : groupInto n (drop n l)
- doEveryOther fn (x:[]) = [x]
- doEveryOther fn [] = []
- doEveryOther fn (x:xs:xss) = x : fn xs : (doEveryOther fn xss)
- decrypt list n = concat . transpose . doEveryOther reverse $ groupInto n list
- main = do getContents >>= mapM putStrLn . map (\(x:xs) -> decrypt (head xs) (read x)) . groupInto 2 . takeWhile (/= "0") . lines
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement