Submission #108322


Source Code Expand

import Control.Applicative
import Control.Monad
import Text.Printf
import Debug.Trace
import qualified Data.ByteString.Char8 as BS
import Data.Array (Array, Ix, array, (!), range, bounds)

degs = [
  (1125,  "N"),
  (3375,  "NNE"),
  (5625,  "NE"),
  (7875,  "ENE"),
  (10125, "E"),
  (12375, "ESE"),
  (14625, "SE"),
  (16875, "SSE"),
  (19125, "S"),
  (21375, "SSW"),
  (23625, "SW"),
  (25875, "WSW"),
  (28125, "W"),
  (30375, "WNW"),
  (32625, "NW"),
  (34875, "NNW"),
  (40000, "N")
  ]

diss = [
  (3,   0),
  (16,  1),
  (34,  2),
  (55,  3),
  (80,  4),
  (108, 5),
  (139, 6),
  (172, 7),
  (208, 8),
  (245, 9),
  (285, 10),
  (327, 11),
  (100000, 12)
  ] :: [(Int, Int)]

find m n = snd . head $ debug "find" $ filter ((n <) . fst) m

main :: IO ()
main = do
  [deg, dis] <- getInts
  let degAns = find degs (debug "deg" (deg * 10))
      disAns = find diss (debug "dis" (((dis * 100) `div` 60 + 5) `div` 10))
  if disAns == 0
    then putStrLn "C 0"
    else printf "%s %d\n" degAns disAns

--
-- TEMPLATE
--
toNumber (Just (x, _)) = x
toNumber Nothing       = 0
getInt = toNumber . BS.readInt <$> BS.getLine
getInts = (map (toNumber . BS.readInt) <$> (BS.words <$> BS.getLine))
getIntegers = (map (toNumber . BS.readInteger) <$> (BS.words <$> BS.getLine))
memorize func rng = let memoArray = array rng [(i, func i) | i <- (range rng)]
                    in (!) memoArray
toA lst = array (0, length lst - 1) $ zip [0..] lst
--debug m a = trace (m ++ ": " ++ show a) a
debug m a = a

Submission Info

Submission Time
Task C - 風力観測
User yukim
Language Haskell (GHC 7.4.1)
Score 100
Code Size 1564 Byte
Status AC
Exec Time 39 ms
Memory 1056 KB

Judge Result

Set Name all
Score / Max Score 100 / 100
Status
AC × 66
Set Name Test Cases
all 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, 00_sample_04.txt, 00_sample_05.txt, 00_sample_06.txt, 00_sample_07.txt, 00_sample_08.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt, test_11.txt, test_12.txt, test_13.txt, test_14.txt, test_15.txt, test_16.txt, test_17.txt, test_18.txt, test_19.txt, test_20.txt, test_21.txt, test_22.txt, test_23.txt, test_24.txt, test_25.txt, test_26.txt, test_27.txt, test_28.txt, test_29.txt, test_30.txt, test_31.txt, test_32.txt, test_33.txt, test_34.txt, test_35.txt, test_36.txt, test_37.txt, test_38.txt, test_39.txt, test_40.txt, test_41.txt, test_42.txt, test_43.txt, test_44.txt, test_45.txt, test_46.txt, test_47.txt, test_48.txt, test_49.txt, test_50.txt, test_51.txt, test_52.txt, test_53.txt, test_54.txt, test_55.txt, test_56.txt, test_57.txt, test_58.txt
Case Name Status Exec Time Memory
00_sample_01.txt AC 24 ms 984 KB
00_sample_02.txt AC 22 ms 1056 KB
00_sample_03.txt AC 22 ms 1048 KB
00_sample_04.txt AC 21 ms 1052 KB
00_sample_05.txt AC 22 ms 1044 KB
00_sample_06.txt AC 23 ms 1052 KB
00_sample_07.txt AC 24 ms 920 KB
00_sample_08.txt AC 22 ms 1048 KB
test_01.txt AC 22 ms 1056 KB
test_02.txt AC 23 ms 940 KB
test_03.txt AC 39 ms 916 KB
test_04.txt AC 25 ms 1052 KB
test_05.txt AC 24 ms 940 KB
test_06.txt AC 21 ms 936 KB
test_07.txt AC 22 ms 1056 KB
test_08.txt AC 22 ms 1056 KB
test_09.txt AC 23 ms 940 KB
test_10.txt AC 22 ms 1052 KB
test_11.txt AC 22 ms 944 KB
test_12.txt AC 22 ms 936 KB
test_13.txt AC 21 ms 1048 KB
test_14.txt AC 20 ms 940 KB
test_15.txt AC 24 ms 928 KB
test_16.txt AC 22 ms 1052 KB
test_17.txt AC 22 ms 1052 KB
test_18.txt AC 22 ms 932 KB
test_19.txt AC 22 ms 1048 KB
test_20.txt AC 23 ms 1056 KB
test_21.txt AC 23 ms 936 KB
test_22.txt AC 23 ms 940 KB
test_23.txt AC 24 ms 936 KB
test_24.txt AC 22 ms 1052 KB
test_25.txt AC 22 ms 920 KB
test_26.txt AC 22 ms 1056 KB
test_27.txt AC 21 ms 940 KB
test_28.txt AC 22 ms 1056 KB
test_29.txt AC 23 ms 1056 KB
test_30.txt AC 22 ms 1052 KB
test_31.txt AC 21 ms 1048 KB
test_32.txt AC 22 ms 1052 KB
test_33.txt AC 22 ms 940 KB
test_34.txt AC 23 ms 1048 KB
test_35.txt AC 23 ms 940 KB
test_36.txt AC 26 ms 1052 KB
test_37.txt AC 24 ms 1028 KB
test_38.txt AC 25 ms 1052 KB
test_39.txt AC 24 ms 1048 KB
test_40.txt AC 23 ms 920 KB
test_41.txt AC 23 ms 1056 KB
test_42.txt AC 25 ms 1056 KB
test_43.txt AC 26 ms 928 KB
test_44.txt AC 24 ms 1052 KB
test_45.txt AC 25 ms 1052 KB
test_46.txt AC 24 ms 1056 KB
test_47.txt AC 21 ms 1052 KB
test_48.txt AC 20 ms 1052 KB
test_49.txt AC 22 ms 964 KB
test_50.txt AC 23 ms 1048 KB
test_51.txt AC 22 ms 1056 KB
test_52.txt AC 23 ms 1052 KB
test_53.txt AC 21 ms 1048 KB
test_54.txt AC 22 ms 1048 KB
test_55.txt AC 21 ms 1052 KB
test_56.txt AC 21 ms 1048 KB
test_57.txt AC 22 ms 1056 KB
test_58.txt AC 22 ms 936 KB