Submission #4386589
Source Code Expand
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(std::io::BufReader::new(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)*} }; } macro_rules! input_inner { ($next:expr) => {}; ($next:expr, ) => {}; ($next:expr, $var:ident : $t:tt $($r:tt)*) => { let $var = read_value!($next, $t); input_inner!{$next $($r)*} }; } 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: f64, dis: f64 } let mut deg: f64 = deg / 10.0; let dis: f64 = dis / 60.0; let dis: f64 = (dis * 10.0).round() / 10.0; let dir_list: Vec<&str> = vec!["N", "NNE", "NE", "ENE", "E", "ESE", "SE", "SSE", "S", "SSW", "SW", "WSW", "W", "WNW", "NW", "NNW"]; let mut dir_index: usize = 0; deg = deg - 11.25; while deg > 0.0 { deg = deg - 22.5; dir_index = dir_index + 1; } if dir_index == 16 { dir_index = 0; } #[allow(non_snake_case)] #[allow(illegal_floating_point_literal_pattern)] let W: i64 = match dis { 0.0...0.2 => 0, 0.3...1.5 => 1, 1.6...3.3 => 2, 3.4...5.4 => 3, 5.5...7.9 => 4, 8.0...10.7 => 5, 10.8...13.8 => 6, 13.9...17.1 => 7, 17.2...20.7 => 8, 20.8...24.4 => 9, 24.5...28.4 => 10, 28.5...32.6 => 11, 32.7...20000.0 => 12, _ => 13 }; if W == 0 { print!("{} ", "C"); } else { print!("{} ", dir_list[dir_index]); } println!("{}", W); }
Submission Info
Submission Time | |
---|---|
Task | C - 風力観測 |
User | miyagaw61 |
Language | Rust (1.15.1) |
Score | 100 |
Code Size | 2590 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 |