Submission #6428029
Source Code Expand
#[allow(unused_macros)] macro_rules ! input { ( source = $ s : expr , $ ( $ r : tt ) * ) => { let mut iter = $ s . split_whitespace ( ) ; let mut next = || { iter . next ( ) . unwrap ( ) } ; input_inner ! { next , $ ( $ r ) * } } ; ( $ ( $ r : tt ) * ) => { let stdin = std :: io :: stdin ( ) ; let mut bytes = std :: io :: Read :: bytes ( stdin . lock ( ) ) ; let mut next = move || -> String { bytes . by_ref ( ) . map ( | r | r . unwrap ( ) as char ) . skip_while ( | c | c . is_whitespace ( ) ) . take_while ( | c |! c . is_whitespace ( ) ) . collect ( ) } ; input_inner ! { next , $ ( $ r ) * } } ; } #[allow(unused_macros)] macro_rules ! input_inner { ( $ next : expr ) => { } ; ( $ next : expr , ) => { } ; ( $ next : expr , mut $ var : ident : $ t : tt $ ( $ r : tt ) * ) => { let mut $ var = read_value ! ( $ next , $ t ) ; input_inner ! { $ next $ ( $ r ) * } } ; ( $ next : expr , $ var : ident : $ t : tt $ ( $ r : tt ) * ) => { let $ var = read_value ! ( $ next , $ t ) ; input_inner ! { $ next $ ( $ r ) * } } ; } #[allow(unused_macros)] macro_rules ! read_value { ( $ next : expr , ( $ ( $ t : tt ) ,* ) ) => { ( $ ( read_value ! ( $ next , $ t ) ) ,* ) } ; ( $ next : expr , [ $ t : tt ; $ len : expr ] ) => { ( 0 ..$ len ) . map ( | _ | read_value ! ( $ next , $ t ) ) . collect ::< Vec < _ >> ( ) } ; ( $ next : expr , chars ) => { read_value ! ( $ next , String ) . chars ( ) . collect ::< Vec < char >> ( ) } ; ( $ next : expr , usize1 ) => { read_value ! ( $ next , usize ) - 1 } ; ( $ next : expr , $ t : ty ) => { $ next ( ) . parse ::<$ t > ( ) . expect ( "Parse error" ) } ; } fn main() { input! { deg: u64, dis: u64 } let mut dir = if deg <= 112 {"N"} else if deg <= 337 {"NNE"} else if deg <= 562 {"NE"} else if deg <= 787 {"ENE"} else if deg <= 1012 {"E"} else if deg <= 1237 {"ESE"} else if deg <= 1462 {"SE"} else if deg <= 1687 {"SSE"} else if deg <= 1912 {"S"} else if deg <= 2137 {"SSW"} else if deg <= 2362 {"SW"} else if deg <= 2587 {"WSW"} else if deg <= 2812 {"W"} else if deg <= 3037 {"WNW"} else if deg <= 3262 {"NW"} else if deg <= 3487 {"NNW"} else {"N"}; let df = fix(dis); let w = if df <= 2 {0} else if df <= 15 {1} else if df <= 33 {2} else if df <= 54 {3} else if df <= 79 {4} else if df <= 107 {5} else if df <= 138 {6} else if df <= 171 {7} else if df <= 207 {8} else if df <= 244 {9} else if df <= 284 {10} else if df <= 326 {11} else {12}; if w == 0 { dir = "C"; } println!("{} {}", dir, w); } fn fix(dis: u64) -> u64 { (dis as f64 / 6.0 + 0.5 + 1e-8) as u64 }
Submission Info
Submission Time | |
---|---|
Task | C - 風力観測 |
User | henoc |
Language | Rust (1.15.1) |
Score | 100 |
Code Size | 2853 Byte |
Status | AC |
Exec Time | 2 ms |
Memory | 4352 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 | 2 ms | 4352 KB |
00_sample_02.txt | AC | 2 ms | 4352 KB |
00_sample_03.txt | AC | 2 ms | 4352 KB |
00_sample_04.txt | AC | 2 ms | 4352 KB |
00_sample_05.txt | AC | 2 ms | 4352 KB |
00_sample_06.txt | AC | 2 ms | 4352 KB |
00_sample_07.txt | AC | 2 ms | 4352 KB |
00_sample_08.txt | AC | 2 ms | 4352 KB |
test_01.txt | AC | 2 ms | 4352 KB |
test_02.txt | AC | 2 ms | 4352 KB |
test_03.txt | AC | 2 ms | 4352 KB |
test_04.txt | AC | 2 ms | 4352 KB |
test_05.txt | AC | 2 ms | 4352 KB |
test_06.txt | AC | 2 ms | 4352 KB |
test_07.txt | AC | 2 ms | 4352 KB |
test_08.txt | AC | 2 ms | 4352 KB |
test_09.txt | AC | 2 ms | 4352 KB |
test_10.txt | AC | 2 ms | 4352 KB |
test_11.txt | AC | 2 ms | 4352 KB |
test_12.txt | AC | 2 ms | 4352 KB |
test_13.txt | AC | 2 ms | 4352 KB |
test_14.txt | AC | 2 ms | 4352 KB |
test_15.txt | AC | 2 ms | 4352 KB |
test_16.txt | AC | 2 ms | 4352 KB |
test_17.txt | AC | 2 ms | 4352 KB |
test_18.txt | AC | 2 ms | 4352 KB |
test_19.txt | AC | 2 ms | 4352 KB |
test_20.txt | AC | 2 ms | 4352 KB |
test_21.txt | AC | 2 ms | 4352 KB |
test_22.txt | AC | 2 ms | 4352 KB |
test_23.txt | AC | 2 ms | 4352 KB |
test_24.txt | AC | 2 ms | 4352 KB |
test_25.txt | AC | 2 ms | 4352 KB |
test_26.txt | AC | 2 ms | 4352 KB |
test_27.txt | AC | 2 ms | 4352 KB |
test_28.txt | AC | 2 ms | 4352 KB |
test_29.txt | AC | 2 ms | 4352 KB |
test_30.txt | AC | 2 ms | 4352 KB |
test_31.txt | AC | 2 ms | 4352 KB |
test_32.txt | AC | 2 ms | 4352 KB |
test_33.txt | AC | 2 ms | 4352 KB |
test_34.txt | AC | 2 ms | 4352 KB |
test_35.txt | AC | 2 ms | 4352 KB |
test_36.txt | AC | 2 ms | 4352 KB |
test_37.txt | AC | 2 ms | 4352 KB |
test_38.txt | AC | 2 ms | 4352 KB |
test_39.txt | AC | 2 ms | 4352 KB |
test_40.txt | AC | 2 ms | 4352 KB |
test_41.txt | AC | 2 ms | 4352 KB |
test_42.txt | AC | 2 ms | 4352 KB |
test_43.txt | AC | 2 ms | 4352 KB |
test_44.txt | AC | 2 ms | 4352 KB |
test_45.txt | AC | 2 ms | 4352 KB |
test_46.txt | AC | 2 ms | 4352 KB |
test_47.txt | AC | 2 ms | 4352 KB |
test_48.txt | AC | 2 ms | 4352 KB |
test_49.txt | AC | 2 ms | 4352 KB |
test_50.txt | AC | 2 ms | 4352 KB |
test_51.txt | AC | 2 ms | 4352 KB |
test_52.txt | AC | 2 ms | 4352 KB |
test_53.txt | AC | 2 ms | 4352 KB |
test_54.txt | AC | 2 ms | 4352 KB |
test_55.txt | AC | 2 ms | 4352 KB |
test_56.txt | AC | 2 ms | 4352 KB |
test_57.txt | AC | 2 ms | 4352 KB |
test_58.txt | AC | 2 ms | 4352 KB |