Submission #2296736


Source Code Expand

use std::env;
use std::io::*;
use std::str::*;
use std::mem;
use std::collections::HashMap;

fn read<T: FromStr>() -> T {
    let stdin = stdin();
    let s = stdin.bytes().map(|c| c.unwrap() as char)
        .skip_while(|c| c.is_whitespace())
        .take_while(|c| !c.is_whitespace())
        .collect::<String>();
    s.parse::<T>().ok().unwrap()
}
fn read_char() -> char {
    let c = read::<String>();
    let c = c.chars().collect::<Vec<char>>();
    c[0]
}
fn read_String_Vec() -> Vec<char> {
    let S = read::<String>();
    S.chars().collect::<Vec<char>>()
}

fn vecchar_to_String(Vs: &Vec<char>) -> String {
    let mut S = String::new();
    for i in 0..Vs.len() {
        S.push(Vs[i]);
    }
    S
}

/*
文字コード
A : 65
Z : 90
a : 97
z : 122
0 : 48
9 : 57
*/

/*
let N = read::<i32>();
let S = read::<String>();
let S = read_String_Vec();
let C = read_char();
*/

/*
 .to_string() : * -> String
 &*S          : String -> &str
*/

fn main() {
    // main の引数
    /*
        引数なしのときargs.len() = 1;
    */
    let args: Vec<String> = env::args().collect();

    let Deg = read::<i32>(); // 風向
    let Dis = read::<i32>(); // 風力

    let Dis = Dis as f64 / 60.0 + 0.051; // 風力 m/s
    //println!("風力 : {}", Dis);

    let Dis = ((Dis * 10.0) as i32) as f64 / 10.0;
    //println!("風力 : {}", Dis);
    let Dis = {
        if Dis <= 0.2 {
            0
        } else if Dis <= 1.5 {
            1
        } else if Dis <= 3.3 {
            2
        } else if Dis <= 5.4 {
            3
        } else if Dis <= 7.9 {
            4
        } else if Dis <= 10.7 {
            5
        } else if Dis <= 13.8 {
            6
        } else if Dis <= 17.1 {
            7
        } else if Dis <= 20.7 {
            8
        } else if Dis <= 24.4 {
            9
        } else if Dis <= 28.4 {
            10
        } else if Dis <= 32.6 {
            11
        } else {
            12
        }
    };

    //println!("風力 : {}", Dis);
    // let S = read::<String>();
    // let S = read_String_Vec();
    // let C = read_char();
    // 0 <= Deg < 3600
    let Deg = (Deg*10 + 1125) % 36000;    // 0 <= Deg < 36000
    let Deg = Deg / 2250;
    //println!("Deg : {}", Deg);
    let D = ["N", "NNE", "NE", "ENE", "E", "ESE", "SE", "SSE",
         "S", "SSW", "SW", "WSW", "W", "WNW", "NW", "NNW"];
    let Deg = D[Deg as usize];

    if Dis == 0 {
        println!("C 0");
    } else {
        println!("{} {}", Deg, Dis);
    }
}

Submission Info

Submission Time
Task C - 風力観測
User hatchi_rust
Language Rust (1.15.1)
Score 100
Code Size 2611 Byte
Status AC
Exec Time 2 ms
Memory 4352 KB

Compile Error

warning: unused import: `std::mem`, #[warn(unused_imports)] on by default
 --> ./Main.rs:4:5
  |
4 | use std::mem;
  |     ^^^^^^^^

warning: unused import: `std::collections::HashMap`, #[warn(unused_imports)] on by default
 --> ./Main.rs:5:5
  |
5 | use std::collections::HashMap;
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^

warning: function is never used: `read_char`, #[warn(dead_code)] on by default
  --> ./Main.rs:15:1
   |
15 |   fn read_char() -> char {
   |  _^ starting here...
16 | |     let c = read::<String>();
17 | |     let c = c.chars().collect::<Vec<char>>();
18 | |     c[0]
19 | | }
   | |_^ ...ending here

warning: function is never used: `read_String_Vec`, #[warn(dead_code)] on by default
  --> ./Main.rs:20:1
   |
20 |   fn read_String_Vec() -> Vec<char> {
   |  _^ starting here...
21 | |     let S = read::<String>();
22 | |     S.chars().collect::<Vec<char>>()
23 | | }
   | |_^ ...ending here

warning: function `read_String_Vec` should have a snake case name such as `read_string_vec`, #[war...

Judge Result

Set Name all
Score / Max Score 100 / 100
Status
AC × 66
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