Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,37 @@
|
|||
import Data.List ((\\), permutations, nub)
|
||||
import Control.Monad (join)
|
||||
|
||||
missingPerm
|
||||
:: Eq a
|
||||
=> [[a]] -> [[a]]
|
||||
missingPerm = (\\) =<< permutations . nub . join
|
||||
|
||||
deficientPermsList :: [String]
|
||||
deficientPermsList =
|
||||
[ "ABCD"
|
||||
, "CABD"
|
||||
, "ACDB"
|
||||
, "DACB"
|
||||
, "BCDA"
|
||||
, "ACBD"
|
||||
, "ADCB"
|
||||
, "CDAB"
|
||||
, "DABC"
|
||||
, "BCAD"
|
||||
, "CADB"
|
||||
, "CDBA"
|
||||
, "CBAD"
|
||||
, "ABDC"
|
||||
, "ADBC"
|
||||
, "BDCA"
|
||||
, "DCBA"
|
||||
, "BACD"
|
||||
, "BADC"
|
||||
, "BDAC"
|
||||
, "CBDA"
|
||||
, "DBCA"
|
||||
, "DCAB"
|
||||
]
|
||||
|
||||
main :: IO ()
|
||||
main = print $ missingPerm deficientPermsList
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
import Data.List (minimumBy, group, sort, transpose)
|
||||
import Data.Ord (comparing)
|
||||
|
||||
missingPerm
|
||||
:: Ord a
|
||||
=> [[a]] -> [a]
|
||||
missingPerm = fmap (head . minimumBy (comparing length) . group . sort) . transpose
|
||||
|
||||
deficientPermsList :: [String]
|
||||
deficientPermsList =
|
||||
[ "ABCD"
|
||||
, "CABD"
|
||||
, "ACDB"
|
||||
, "DACB"
|
||||
, "BCDA"
|
||||
, "ACBD"
|
||||
, "ADCB"
|
||||
, "CDAB"
|
||||
, "DABC"
|
||||
, "BCAD"
|
||||
, "CADB"
|
||||
, "CDBA"
|
||||
, "CBAD"
|
||||
, "ABDC"
|
||||
, "ADBC"
|
||||
, "BDCA"
|
||||
, "DCBA"
|
||||
, "BACD"
|
||||
, "BADC"
|
||||
, "BDAC"
|
||||
, "CBDA"
|
||||
, "DBCA"
|
||||
, "DCAB"
|
||||
]
|
||||
|
||||
main :: IO ()
|
||||
main = print $ missingPerm deficientPermsList
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
import Data.Char (chr, ord)
|
||||
import Data.Bits (xor)
|
||||
|
||||
missingPerm :: [String] -> String
|
||||
missingPerm = fmap chr . foldr (zipWith xor . fmap ord) [0, 0, 0, 0]
|
||||
|
||||
deficientPermsList :: [String]
|
||||
deficientPermsList =
|
||||
[ "ABCD"
|
||||
, "CABD"
|
||||
, "ACDB"
|
||||
, "DACB"
|
||||
, "BCDA"
|
||||
, "ACBD"
|
||||
, "ADCB"
|
||||
, "CDAB"
|
||||
, "DABC"
|
||||
, "BCAD"
|
||||
, "CADB"
|
||||
, "CDBA"
|
||||
, "CBAD"
|
||||
, "ABDC"
|
||||
, "ADBC"
|
||||
, "BDCA"
|
||||
, "DCBA"
|
||||
, "BACD"
|
||||
, "BADC"
|
||||
, "BDAC"
|
||||
, "CBDA"
|
||||
, "DBCA"
|
||||
, "DCAB"
|
||||
]
|
||||
|
||||
main :: IO ()
|
||||
main = putStrLn $ missingPerm deficientPermsList
|
||||
Loading…
Add table
Add a link
Reference in a new issue