tasks a-s
This commit is contained in:
parent
47bf37c096
commit
b83f433714
12433 changed files with 156208 additions and 123 deletions
12
Task/Ordered-Partitions/Haskell/ordered-partitions-2.hs
Normal file
12
Task/Ordered-Partitions/Haskell/ordered-partitions-2.hs
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
comb :: Int -> [a] -> [([a],[a])]
|
||||
comb 0 xs = [([],xs)]
|
||||
comb _ [] = []
|
||||
comb k (x:xs) = [ (x:cs,zs) | (cs,zs) <- comb (k-1) xs ] ++
|
||||
[ (cs,x:zs) | (cs,zs) <- comb k xs ]
|
||||
|
||||
partitions :: [Int] -> [[[Int]]]
|
||||
partitions xs = p [1..sum xs] xs
|
||||
where p _ [] = [[]]
|
||||
p xs (k:ks) = [ cs:rs | (cs,zs) <- comb k xs, rs <- p zs ks ]
|
||||
|
||||
main = print $ partitions [2,0,2]
|
||||
Loading…
Add table
Add a link
Reference in a new issue