結果

問題 No.113 宝探し
ユーザー tjnt
提出日時 2021-10-08 15:22:49
言語 Haskell
(9.10.1)
結果
AC  
実行時間 2 ms / 5,000 ms
コード長 515 bytes
コンパイル時間 4,880 ms
コンパイル使用メモリ 176,000 KB
実行使用メモリ 6,948 KB
最終ジャッジ日時 2024-07-23 03:22:14
合計ジャッジ時間 5,926 ms
ジャッジサーバーID
(参考情報)
judge3 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 23
権限があれば一括ダウンロードができます
コンパイルメッセージ
Loaded package environment from /home/judge/.ghc/x86_64-linux-9.8.2/environments/default
[1 of 2] Compiling Main             ( Main.hs, Main.o )
[2 of 2] Linking a.out

ソースコード

diff #

solve :: String -> Float
solve s = let (x,y) = point s
           in sqrt $ fromIntegral x ^ 2 + fromInteger y ^ 2
  where
    point [] = (0,0)
    point (x:xs) =
        let p = case x of 'N' -> (0,1)
                          'E' -> (1,0)
                          'W' -> (-1,0)
                          'S' -> (0,-1)
                          _   -> undefined
         in assign p (point xs)
    assign (x1,y1) (x2,y2) = (x1+x2,y1+y2)

main :: IO ()
main = do
    s <- getLine :: IO String
    print $ solve s
0