Submission #6445168
Source Code Expand
-- modules to import -- import qualified Data.ByteString.Char8 import qualified Data.Maybe import Prelude -- functions for this task -- tuplify2 (x:y:_) = (x,y) tuplify2 _ = Prelude.undefined read_Integer = Prelude.fst . Data.Maybe.fromJust . Data.ByteString.Char8.readInteger read_TupleInteger = tuplify2 . Prelude.map read_Integer . Data.ByteString.Char8.words get_Integer = read_Integer <$> Data.ByteString.Char8.getLine get_TupleInteger = read_TupleInteger <$> Data.ByteString.Char8.getLine wind_Direction_core :: Integer -> Data.ByteString.Char8.ByteString wind_Direction_core degree | degree_scaled >= 1125 && degree_scaled <= 3374 = Data.ByteString.Char8.pack $ "NNE" | degree_scaled >= 3375 && degree_scaled <= 5624 = Data.ByteString.Char8.pack $ "NE" | degree_scaled >= 5625 && degree_scaled <= 7874 = Data.ByteString.Char8.pack $ "ENE" | degree_scaled >= 7875 && degree_scaled <= 10124 = Data.ByteString.Char8.pack $ "E" | degree_scaled >= 10125 && degree_scaled <= 12374 = Data.ByteString.Char8.pack $ "ESE" | degree_scaled >= 12375 && degree_scaled <= 14624 = Data.ByteString.Char8.pack $ "SE" | degree_scaled >= 14625 && degree_scaled <= 16874 = Data.ByteString.Char8.pack $ "SSE" | degree_scaled >= 16875 && degree_scaled <= 19124 = Data.ByteString.Char8.pack $ "S" | degree_scaled >= 19125 && degree_scaled <= 21374 = Data.ByteString.Char8.pack $ "SSW" | degree_scaled >= 21375 && degree_scaled <= 23624 = Data.ByteString.Char8.pack $ "SW" | degree_scaled >= 23625 && degree_scaled <= 25874 = Data.ByteString.Char8.pack $ "WSW" | degree_scaled >= 25875 && degree_scaled <= 28124 = Data.ByteString.Char8.pack $ "W" | degree_scaled >= 28125 && degree_scaled <= 30374 = Data.ByteString.Char8.pack $ "WNW" | degree_scaled >= 30375 && degree_scaled <= 32624 = Data.ByteString.Char8.pack $ "NW" | degree_scaled >= 32625 && degree_scaled <= 34874 = Data.ByteString.Char8.pack $ "NNW" | Prelude.otherwise = Data.ByteString.Char8.pack $ "N" where degree_scaled = degree * 10 wind_Direction :: Integer -> Integer -> Data.ByteString.Char8.ByteString wind_Direction degree wind_force | wind_force == 0 = Data.ByteString.Char8.pack $ "C" | Prelude.otherwise = wind_Direction_core $ degree calc_wind_force :: Integer -> Integer calc_wind_force wind_run | wind_speed <= 2 = 0 | wind_speed <= 15 = 1 | wind_speed <= 33 = 2 | wind_speed <= 54 = 3 | wind_speed <= 79 = 4 | wind_speed <= 107 = 5 | wind_speed <= 138 = 6 | wind_speed <= 171 = 7 | wind_speed <= 207 = 8 | wind_speed <= 244 = 9 | wind_speed <= 284 = 10 | wind_speed <= 326 = 11 | Prelude.otherwise = 12 where wind_speed = Prelude.truncate $ (realToFrac $ wind_run) / (6.0 :: Double) + (0.5 :: Double) -- the main process is as follows -- main :: IO () main = do -- STEP.01 -- read out the given data given_data <- get_TupleInteger -- STEP.02 -- calculate the wind force let val_wind_force = calc_wind_force $ Prelude.snd $ given_data -- STEP.03 -- detect the wind direction & output the answer of this task Data.ByteString.Char8.putStr $ wind_Direction (Prelude.fst $ given_data) (val_wind_force) Data.ByteString.Char8.putStr $ (Data.ByteString.Char8.pack $ " ") Prelude.print $ val_wind_force
Submission Info
Submission Time | |
---|---|
Task | C - 風力観測 |
User | DSCF_1224 |
Language | Haskell (GHC 7.10.3) |
Score | 100 |
Code Size | 3730 Byte |
Status | AC |
Exec Time | 1 ms |
Memory | 380 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 | 1 ms | 380 KB |
00_sample_02.txt | AC | 1 ms | 380 KB |
00_sample_03.txt | AC | 1 ms | 380 KB |
00_sample_04.txt | AC | 1 ms | 380 KB |
00_sample_05.txt | AC | 1 ms | 380 KB |
00_sample_06.txt | AC | 1 ms | 380 KB |
00_sample_07.txt | AC | 1 ms | 380 KB |
00_sample_08.txt | AC | 1 ms | 380 KB |
test_01.txt | AC | 1 ms | 380 KB |
test_02.txt | AC | 1 ms | 380 KB |
test_03.txt | AC | 1 ms | 380 KB |
test_04.txt | AC | 1 ms | 380 KB |
test_05.txt | AC | 1 ms | 380 KB |
test_06.txt | AC | 1 ms | 380 KB |
test_07.txt | AC | 1 ms | 380 KB |
test_08.txt | AC | 1 ms | 380 KB |
test_09.txt | AC | 1 ms | 380 KB |
test_10.txt | AC | 1 ms | 380 KB |
test_11.txt | AC | 1 ms | 380 KB |
test_12.txt | AC | 1 ms | 380 KB |
test_13.txt | AC | 1 ms | 380 KB |
test_14.txt | AC | 1 ms | 380 KB |
test_15.txt | AC | 1 ms | 380 KB |
test_16.txt | AC | 1 ms | 380 KB |
test_17.txt | AC | 1 ms | 380 KB |
test_18.txt | AC | 1 ms | 380 KB |
test_19.txt | AC | 1 ms | 380 KB |
test_20.txt | AC | 1 ms | 380 KB |
test_21.txt | AC | 1 ms | 380 KB |
test_22.txt | AC | 1 ms | 380 KB |
test_23.txt | AC | 1 ms | 380 KB |
test_24.txt | AC | 1 ms | 380 KB |
test_25.txt | AC | 1 ms | 380 KB |
test_26.txt | AC | 1 ms | 380 KB |
test_27.txt | AC | 1 ms | 380 KB |
test_28.txt | AC | 1 ms | 380 KB |
test_29.txt | AC | 1 ms | 380 KB |
test_30.txt | AC | 1 ms | 380 KB |
test_31.txt | AC | 1 ms | 380 KB |
test_32.txt | AC | 1 ms | 380 KB |
test_33.txt | AC | 1 ms | 380 KB |
test_34.txt | AC | 1 ms | 380 KB |
test_35.txt | AC | 1 ms | 380 KB |
test_36.txt | AC | 1 ms | 380 KB |
test_37.txt | AC | 1 ms | 380 KB |
test_38.txt | AC | 1 ms | 380 KB |
test_39.txt | AC | 1 ms | 380 KB |
test_40.txt | AC | 1 ms | 380 KB |
test_41.txt | AC | 1 ms | 380 KB |
test_42.txt | AC | 1 ms | 380 KB |
test_43.txt | AC | 1 ms | 380 KB |
test_44.txt | AC | 1 ms | 380 KB |
test_45.txt | AC | 1 ms | 380 KB |
test_46.txt | AC | 1 ms | 380 KB |
test_47.txt | AC | 1 ms | 380 KB |
test_48.txt | AC | 1 ms | 380 KB |
test_49.txt | AC | 1 ms | 380 KB |
test_50.txt | AC | 1 ms | 380 KB |
test_51.txt | AC | 1 ms | 380 KB |
test_52.txt | AC | 1 ms | 380 KB |
test_53.txt | AC | 1 ms | 380 KB |
test_54.txt | AC | 1 ms | 380 KB |
test_55.txt | AC | 1 ms | 380 KB |
test_56.txt | AC | 1 ms | 380 KB |
test_57.txt | AC | 1 ms | 380 KB |
test_58.txt | AC | 1 ms | 380 KB |