Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
17
Task/Semordnilap/Haskell/semordnilap.hs
Normal file
17
Task/Semordnilap/Haskell/semordnilap.hs
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
import qualified Data.Set as S
|
||||
|
||||
semordnilaps
|
||||
:: (Ord a, Foldable t)
|
||||
=> t [a] -> [[a]]
|
||||
semordnilaps =
|
||||
let f x (s, w)
|
||||
| S.member (reverse x) s = (s, x : w)
|
||||
| otherwise = (S.insert x s, w)
|
||||
in snd . foldr f (S.empty, [])
|
||||
|
||||
main :: IO ()
|
||||
main = do
|
||||
s <- readFile "unixdict.txt"
|
||||
let l = semordnilaps (lines s)
|
||||
print $ length l
|
||||
mapM_ (print . ((,) <*> reverse)) $ take 5 (filter ((4 <) . length) l)
|
||||
Loading…
Add table
Add a link
Reference in a new issue