torus711 のアレ

主に競技プログラミングの問題について書きます

AtCoder Regular Contest #015, B : 真冬日?真夏日?

解法

対象毎にてきとーに数える。

コード

main = do
	n <- readLn
	ps <- replicateM n $ do
		[ a, b ] <- map ( read :: String -> Float ) . words <$> getLine
		return ( a, b )
	putStrLn . unwords . map show . map length . map ( \f -> filter ( ( uncurry (&&) ) . f ) ps ) $ [ a, b, c, d, e, f ]

a = ( 35.0 <= ) *** ( \_ -> True )
b = fst >>> ( 30.0 <= ) &&& ( < 35.0 )
c = fst >>> ( 25.0 <= ) &&& ( < 30.0 )
d = ( \_ -> True ) *** ( 25.0 <= ) 
e = ( 0.0 <= ) *** ( < 0.0 )
f = ( < 0.0 ) *** ( \_ -> True )