[Haskell-beginners] Re: Programação Funcional - TP1
Marco Túlio Gontijo e Silva
marcot at holoscopio.com
Tue May 5 14:06:41 EDT 2009
Olá Henrique,
seu problema Polepos.hs excedeu o tempo limite de execução no SPOJ.
Algumas dicas: você pode escrever:
cars = map fst startGrid
positions = map snd startGrid
(cars, positions) = unzip
take (length positions) [0..]
[0 .. pred $ length positions]
do scoreBoard <- parseScoreboard n
let startGrid = getStartGrid scoreBoard
putStrLn $ showGrid startGrid
main
parseScoreboard n >>= putStrLn . showGrid . getStartGrid >> main
showGrid Nothing = "-1"
showGrid (Just xs) = foldl1 (++) $ intersperse " " $ map show xs
showGrid = maybe "-1" (foldl1 (++) . intersperse " " . map show)
Talvez fosse mais legal criar um tipo de dados e definir a classe Ord
para eles do que usar tupla e sortBy.
Essas dicas não estão relacionadas com a demora no tempo de execução.
Isso se deve, acredito eu, ao seu algoritmo.
--
marcot
http://marcot.iaaeee.org/
More information about the Beginners
mailing list