Submission #1647473
Source Code Expand
(defun calcWindPower(dis) (labels ((r (val) (values (floor (+ 0.5 val)))) (round_ (val decimal_place) (assert (> decimal_place 0)) (let ((n (* 10 decimal_place))) (/ (r (* val n)) n)))) (let ((wind_speed 0)) (setq wind_speed (float (round_ (/ dis 60) 1))) (cond ((and (>= wind_speed 0.0) (<= wind_speed 0.2)) 0) ((and (>= wind_speed 0.3) (<= wind_speed 1.5)) 1) ((and (>= wind_speed 1.6) (<= wind_speed 3.3)) 2) ((and (>= wind_speed 3.4) (<= wind_speed 5.4)) 3) ((and (>= wind_speed 5.5) (<= wind_speed 7.9)) 4) ((and (>= wind_speed 8.0) (<= wind_speed 10.7)) 5) ((and (>= wind_speed 10.8) (<= wind_speed 13.8)) 6) ((and (>= wind_speed 13.9) (<= wind_speed 17.1)) 7) ((and (>= wind_speed 17.2) (<= wind_speed 20.7)) 8) ((and (>= wind_speed 20.8) (<= wind_speed 24.4)) 9) ((and (>= wind_speed 24.5) (<= wind_speed 28.4)) 10) ((and (>= wind_speed 28.5) (<= wind_speed 32.6)) 11) ((>= wind_speed 32.7) 12))))) (defun convertDirection(deg wind_power) (let ((step 225)) (cond ((= wind_power 0) 'C) ((and (>= deg (+ 112.5 (* step 0))) (< deg (+ 337.5 (* step 0)))) 'NNE) ((and (>= deg (+ 112.5 (* step 1))) (< deg (+ 337.5 (* step 1)))) 'NE) ((and (>= deg (+ 112.5 (* step 2))) (< deg (+ 337.5 (* step 2)))) 'ENE) ((and (>= deg (+ 112.5 (* step 3))) (< deg (+ 337.5 (* step 3)))) 'E) ((and (>= deg (+ 112.5 (* step 4))) (< deg (+ 337.5 (* step 4)))) 'ESE) ((and (>= deg (+ 112.5 (* step 5))) (< deg (+ 337.5 (* step 5)))) 'SE) ((and (>= deg (+ 112.5 (* step 6))) (< deg (+ 337.5 (* step 6)))) 'SSE) ((and (>= deg (+ 112.5 (* step 7))) (< deg (+ 337.5 (* step 7)))) 'S) ((and (>= deg (+ 112.5 (* step 8))) (< deg (+ 337.5 (* step 8)))) 'SSW) ((and (>= deg (+ 112.5 (* step 9))) (< deg (+ 337.5 (* step 9)))) 'SW) ((and (>= deg (+ 112.5 (* step 10))) (< deg (+ 337.5 (* step 10)))) 'WSW) ((and (>= deg (+ 112.5 (* step 11))) (< deg (+ 337.5 (* step 11)))) 'W) ((and (>= deg (+ 112.5 (* step 12))) (< deg (+ 337.5 (* step 12)))) 'WNW) ((and (>= deg (+ 112.5 (* step 13))) (< deg (+ 337.5 (* step 13)))) 'NW) ((and (>= deg (+ 112.5 (* step 14))) (< deg (+ 337.5 (* step 14)))) 'NNW) (t 'N)))) (defun main() (let ((deg (read)) (dis (read)) (wind_power 0) (direction "")) (setq wind_power (calcWindPower dis)) (setq direction (convertDirection deg wind_power)) (format t "~S ~D~%" direction wind_power))) (main)
Submission Info
Submission Time | |
---|---|
Task | C - 風力観測 |
User | mvgk |
Language | Common Lisp (SBCL 1.1.14) |
Score | 100 |
Code Size | 2779 Byte |
Status | AC |
Exec Time | 156 ms |
Memory | 20708 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 | 156 ms | 20708 KB |
00_sample_02.txt | AC | 42 ms | 10592 KB |
00_sample_03.txt | AC | 42 ms | 10596 KB |
00_sample_04.txt | AC | 42 ms | 10596 KB |
00_sample_05.txt | AC | 41 ms | 10592 KB |
00_sample_06.txt | AC | 42 ms | 10596 KB |
00_sample_07.txt | AC | 41 ms | 10596 KB |
00_sample_08.txt | AC | 41 ms | 10596 KB |
test_01.txt | AC | 41 ms | 10600 KB |
test_02.txt | AC | 42 ms | 10596 KB |
test_03.txt | AC | 41 ms | 10596 KB |
test_04.txt | AC | 41 ms | 10600 KB |
test_05.txt | AC | 41 ms | 10600 KB |
test_06.txt | AC | 42 ms | 10596 KB |
test_07.txt | AC | 41 ms | 10596 KB |
test_08.txt | AC | 42 ms | 10592 KB |
test_09.txt | AC | 42 ms | 10592 KB |
test_10.txt | AC | 42 ms | 10596 KB |
test_11.txt | AC | 42 ms | 10596 KB |
test_12.txt | AC | 42 ms | 10592 KB |
test_13.txt | AC | 42 ms | 10596 KB |
test_14.txt | AC | 42 ms | 10592 KB |
test_15.txt | AC | 42 ms | 10596 KB |
test_16.txt | AC | 42 ms | 10592 KB |
test_17.txt | AC | 41 ms | 10596 KB |
test_18.txt | AC | 42 ms | 10596 KB |
test_19.txt | AC | 41 ms | 10596 KB |
test_20.txt | AC | 42 ms | 10596 KB |
test_21.txt | AC | 42 ms | 10596 KB |
test_22.txt | AC | 42 ms | 10596 KB |
test_23.txt | AC | 42 ms | 10592 KB |
test_24.txt | AC | 42 ms | 10596 KB |
test_25.txt | AC | 42 ms | 10600 KB |
test_26.txt | AC | 42 ms | 10592 KB |
test_27.txt | AC | 42 ms | 10592 KB |
test_28.txt | AC | 42 ms | 10592 KB |
test_29.txt | AC | 42 ms | 10592 KB |
test_30.txt | AC | 42 ms | 10592 KB |
test_31.txt | AC | 41 ms | 10592 KB |
test_32.txt | AC | 42 ms | 10600 KB |
test_33.txt | AC | 41 ms | 10596 KB |
test_34.txt | AC | 42 ms | 10596 KB |
test_35.txt | AC | 42 ms | 10592 KB |
test_36.txt | AC | 42 ms | 10592 KB |
test_37.txt | AC | 41 ms | 10600 KB |
test_38.txt | AC | 42 ms | 10592 KB |
test_39.txt | AC | 41 ms | 10592 KB |
test_40.txt | AC | 42 ms | 10592 KB |
test_41.txt | AC | 42 ms | 10596 KB |
test_42.txt | AC | 42 ms | 10600 KB |
test_43.txt | AC | 41 ms | 10592 KB |
test_44.txt | AC | 42 ms | 10592 KB |
test_45.txt | AC | 42 ms | 10596 KB |
test_46.txt | AC | 42 ms | 10596 KB |
test_47.txt | AC | 42 ms | 10596 KB |
test_48.txt | AC | 42 ms | 10596 KB |
test_49.txt | AC | 42 ms | 10596 KB |
test_50.txt | AC | 42 ms | 10596 KB |
test_51.txt | AC | 42 ms | 10596 KB |
test_52.txt | AC | 42 ms | 10596 KB |
test_53.txt | AC | 42 ms | 10596 KB |
test_54.txt | AC | 42 ms | 10600 KB |
test_55.txt | AC | 41 ms | 10592 KB |
test_56.txt | AC | 42 ms | 10596 KB |
test_57.txt | AC | 42 ms | 10596 KB |
test_58.txt | AC | 42 ms | 10600 KB |