Submission #431420
Source Code Expand
import Control.Applicative main = do inputs <- (map read . words) <$> getLine case inputs of [_] -> putStrLn "invalid inputs" otherwise -> calc (inputs !! 0) (inputs !! 1) calc deg dis = if wf == "0" then putStrLn "C 0" else putStrLn ((allDirections deg) ++ " " ++ wf) where wf = beaufortScale $ roundUpOn5 (dis / 60) directions = ["N", "NNE", "NE", "ENE", "E", "ESE", "SE", "SSE", "S", "SSW", "SW", "WSW", "W", "WNW", "NW", "NNW", "N"] allDirections ang = directions !! (floor ((ang + 112.5) / 225)) beaufortScale wv | wv <= 0.2 = "0" | wv <= 1.5 = "1" | wv <= 3.3 = "2" | wv <= 5.4 = "3" | wv <= 7.9 = "4" | wv <= 10.7 = "5" | wv <= 13.8 = "6" | wv <= 17.1 = "7" | wv <= 20.7 = "8" | wv <= 24.4 = "9" | wv <= 28.4 = "10" | wv <= 32.6 = "11" | otherwise = "12" -- 小数点第二位を四捨五入する機能が標準でないので追加 roundUpOn5 x = let (n, r) = properFraction (10 * x) m = if r < 0 then n - 1 else n + 1 in case signum (abs r - 0.5 + 0.001) of -1 -> realToFrac n / 10 0 -> realToFrac m / 10 1 -> realToFrac m / 10 _ -> error "round default defn: Bad value"
Submission Info
Submission Time | |
---|---|
Task | C - 風力観測 |
User | sukezabu |
Language | Haskell (GHC 7.4.1) |
Score | 100 |
Code Size | 1346 Byte |
Status | AC |
Exec Time | 32 ms |
Memory | 1316 KB |
Judge Result
Set Name | all | ||
---|---|---|---|
Score / Max Score | 100 / 100 | ||
Status |
|
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 | 28 ms | 1292 KB |
00_sample_02.txt | AC | 26 ms | 1312 KB |
00_sample_03.txt | AC | 28 ms | 1304 KB |
00_sample_04.txt | AC | 28 ms | 1296 KB |
00_sample_05.txt | AC | 29 ms | 1288 KB |
00_sample_06.txt | AC | 27 ms | 1284 KB |
00_sample_07.txt | AC | 27 ms | 1308 KB |
00_sample_08.txt | AC | 27 ms | 1312 KB |
test_01.txt | AC | 27 ms | 1308 KB |
test_02.txt | AC | 27 ms | 1308 KB |
test_03.txt | AC | 27 ms | 1312 KB |
test_04.txt | AC | 27 ms | 1316 KB |
test_05.txt | AC | 28 ms | 1308 KB |
test_06.txt | AC | 27 ms | 1304 KB |
test_07.txt | AC | 28 ms | 1304 KB |
test_08.txt | AC | 28 ms | 1304 KB |
test_09.txt | AC | 28 ms | 1308 KB |
test_10.txt | AC | 28 ms | 1308 KB |
test_11.txt | AC | 28 ms | 1308 KB |
test_12.txt | AC | 28 ms | 1304 KB |
test_13.txt | AC | 28 ms | 1296 KB |
test_14.txt | AC | 27 ms | 1308 KB |
test_15.txt | AC | 28 ms | 1308 KB |
test_16.txt | AC | 28 ms | 1308 KB |
test_17.txt | AC | 27 ms | 1312 KB |
test_18.txt | AC | 26 ms | 1308 KB |
test_19.txt | AC | 28 ms | 1276 KB |
test_20.txt | AC | 26 ms | 1248 KB |
test_21.txt | AC | 26 ms | 1312 KB |
test_22.txt | AC | 27 ms | 1308 KB |
test_23.txt | AC | 27 ms | 1312 KB |
test_24.txt | AC | 27 ms | 1312 KB |
test_25.txt | AC | 26 ms | 1280 KB |
test_26.txt | AC | 26 ms | 1308 KB |
test_27.txt | AC | 27 ms | 1316 KB |
test_28.txt | AC | 28 ms | 1308 KB |
test_29.txt | AC | 29 ms | 1280 KB |
test_30.txt | AC | 28 ms | 1280 KB |
test_31.txt | AC | 28 ms | 1288 KB |
test_32.txt | AC | 27 ms | 1316 KB |
test_33.txt | AC | 27 ms | 1316 KB |
test_34.txt | AC | 27 ms | 1288 KB |
test_35.txt | AC | 27 ms | 1312 KB |
test_36.txt | AC | 27 ms | 1244 KB |
test_37.txt | AC | 27 ms | 1312 KB |
test_38.txt | AC | 28 ms | 1292 KB |
test_39.txt | AC | 28 ms | 1308 KB |
test_40.txt | AC | 26 ms | 1288 KB |
test_41.txt | AC | 27 ms | 1312 KB |
test_42.txt | AC | 26 ms | 1288 KB |
test_43.txt | AC | 28 ms | 1308 KB |
test_44.txt | AC | 27 ms | 1312 KB |
test_45.txt | AC | 27 ms | 1312 KB |
test_46.txt | AC | 27 ms | 1312 KB |
test_47.txt | AC | 26 ms | 1312 KB |
test_48.txt | AC | 28 ms | 1284 KB |
test_49.txt | AC | 29 ms | 1244 KB |
test_50.txt | AC | 28 ms | 1284 KB |
test_51.txt | AC | 32 ms | 1308 KB |
test_52.txt | AC | 29 ms | 1244 KB |
test_53.txt | AC | 29 ms | 1236 KB |
test_54.txt | AC | 29 ms | 1240 KB |
test_55.txt | AC | 29 ms | 1236 KB |
test_56.txt | AC | 28 ms | 1308 KB |
test_57.txt | AC | 28 ms | 1308 KB |
test_58.txt | AC | 28 ms | 1288 KB |