Advertisement
Guest User

Untitled

a guest
Sep 16th, 2014
203
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. -- pozadovane delky necht jsou serazene sestupne (jinak si setridis)
  2. -- navic existuje reseni (jinak potreba osetrit)
  3. rezani :: Int -> [Int] -> [[Int]]
  4. rezani _ [] = [[]]
  5. rezani d xs = udelane ++ (rezani d zbyle)
  6.             where udelane = najdiJeden d xs
  7.                   zbyle   = xs \\ udelane -- vrati doplnek prvniho seznamu do druheho
  8.  
  9.                   -- rozreze jednu kladu co nejlepe a vrati seznam polinek, ktere z ni vyrobil
  10.                   najdiJeden :: Int -> [Int] -> [Int]
  11.                   najdiJeden 0 _     = []
  12.                   najdiJeden _ []    = []
  13.                   najdiJeden d x:xs  = if (x<=d) x:(najdiJeden (d-x) xs)
  14.                                        else najdiJeden d xs
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement