?? edge.hs.txt
字號:
-- Problem Edge-- Algorithm Straight-Forward-- Runtime O(n)-- Author Walter Guttmann-- Date 05.01.2003import Complex;import Monad;type Comp = Complex Doublemain :: IO ()main = readFile "edge.in" >>= mapM_ solve . wordssolve :: String -> IO ()solve s = do putStrLn "300 420 moveto" putStrLn "310 420 lineto" foldM turn (310:+420,10:+0) s putStrLn "stroke" putStrLn "showpage"turn :: (Comp,Comp) -> Char -> IO (Comp,Comp)turn (pos,d) c = let print (x:+y) = show (round x) ++ " " ++ show (round y) ++ " lineto" d' = rot d c pos' = pos + d' in putStrLn (print pos') >> return (pos',d')rot :: Comp -> Char -> Comprot d 'A' = d * (0:+(-1))rot d 'V' = d * (0:+1)
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -