September 2017 Update
This commit is contained in:
parent
bba7bfd280
commit
ba8067c3b7
14570 changed files with 153136 additions and 63871 deletions
15
Task/ABC-Problem/Haskell/abc-problem-1.hs
Normal file
15
Task/ABC-Problem/Haskell/abc-problem-1.hs
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
import Data.List (delete)
|
||||
import Data.Char (toUpper)
|
||||
|
||||
-- returns list of all solutions, each solution being a list of blocks
|
||||
abc :: (Eq a) => [[a]] -> [a] -> [[[a]]]
|
||||
abc _ [] = [[]]
|
||||
abc blocks (c:cs) = [b:ans | b <- blocks, c `elem` b,
|
||||
ans <- abc (delete b blocks) cs]
|
||||
|
||||
blocks = ["BO", "XK", "DQ", "CP", "NA", "GT", "RE", "TG", "QD", "FS",
|
||||
"JW", "HU", "VI", "AN", "OB", "ER", "FS", "LY", "PC", "ZM"]
|
||||
|
||||
main :: IO ()
|
||||
main = mapM_ (\w -> print (w, not . null $ abc blocks (map toUpper w)))
|
||||
["", "A", "BARK", "BoOK", "TrEAT", "COmMoN", "SQUAD", "conFUsE"]
|
||||
Loading…
Add table
Add a link
Reference in a new issue