40分,哪里出问题了?
查看原帖
40分,哪里出问题了?
278124
Caviar_X楼主2022/10/9 16:51
use std::io::stdin;
macro_rules! scan {
    ( $( $x:ty ),+ ) => {{
        let mut string = String::new();
        stdin().read_line(&mut string).unwrap();
        let mut iter = string.split_whitespace();
        ($(iter.next().and_then(|word| word.parse::<$x>().ok()).unwrap(),)*)
    }}
}
macro_rules! read {
    ($x : ty) => {{
        let mut s = String::new();
        stdin().read_line(&mut s).unwrap();
        s.split_whitespace()
            .map(|i| i.parse::<$x>().unwrap())
            .collect::<Vec<_>>()
    }};
}
fn solve() {
    let (dis, spd) = scan!(u32, u32);
    let time = ((dis as f64 / spd as f64).ceil() + 10.0) as u32;
    dbg!(time.clone());
    if time < 60 {
        println!("7:{}", 60 - time);
    } else if time == 60 {
        println!("7:00");
    } else if time > 60 {
        let mut hrs = time / 60;
        let mut min = time - (hrs * 60);
        dbg!(hrs.clone());
        dbg!(min.clone());
        if hrs > 8 {
            hrs = 23 - hrs;
        } else {
            hrs = 7 - hrs;
            min = 60 - min;
        }
        dbg!(hrs.clone());
        dbg!(min.clone());
        println!(
            "{}:{}",
            if hrs < 10 {
                format!("0{}", hrs)
            } else {
                hrs.to_string()
            },
            if min < 10 {
                format!("0{}", min)
            } else {
                min.to_string()
            }
        );
    }
}
fn main() {
    solve();
}
2022/10/9 16:51
加载中...