RosettaCodeData/Task/Non-continuous-subsequences/Haskell/non-continuous-subsequences-4.hs

9 lines
274 B
Haskell
Raw Permalink Normal View History

2023-07-01 11:58:00 -04:00
import Data.List (subsequences, tails, delete)
disjoint a = concatMap (cutAt a) [1..length a - 2] where
cutAt s n = [a ++ b | b <- delete [] (subsequences right),
a <- init (tails left) ] where
(left, _:right) = splitAt n s
main = print $ length $ disjoint [1..20]