18 lines
475 B
Haskell
18 lines
475 B
Haskell
{-# LANGUAGE OverloadedStrings #-}
|
|
{-# OPTIONS_GHC -Wno-incomplete-patterns #-}
|
|
|
|
import qualified Data.Text as T
|
|
import Data.List
|
|
|
|
isContained :: [[Int]] -> Bool
|
|
isContained [a, b] = intersection == a || intersection == b
|
|
where intersection = a `intersect` b
|
|
|
|
toRange :: [Int] -> [Int]
|
|
toRange [a, b] = [a .. b]
|
|
|
|
main = interact $
|
|
show
|
|
. length . filter id
|
|
. map (isContained . map (toRange . map (read . T.unpack) . T.splitOn "-") . T.splitOn "," . T.pack)
|
|
. lines |