hackerrank是一个OJ,一个很有意思的特点是可以使用各种各样乱七八糟的代码来提交.最近在学rust,使用它来一边提交一边学东西. 选择algorithm->warmup,点开第一题,提交方式选择rust,它会给一个demo,作为io的样例--可惜目前他是错误的.自己写了个如下:

use std::io;

fn main() {
    let mut r = String::new();
    io::stdin().read_line(&mut r).ok().expect("failed to read line");
    
    let v1:u32 = match r.trim().parse() {
            Ok(num) => num,
            Err(_) => 0,
    };
    
    r = String::new();
    io::stdin().read_line(&mut r).ok().expect("failed to read line");
    
    let v2:u32 = match r.trim().parse() {
            Ok(num) => num,
            Err(_) => 0,
    };
    
    // Print the sum
    println!("{}", v1 + v2 );
}

提交,直接过.

然后做第二题. 第二题是多行+字符串处理,稍微改一下如下:

use std::io;

fn main() {
    let mut r = String::new();
    io::stdin().read_line(&mut r).ok().expect("failed to read line");
    
    let cnt:u32 = match r.trim().parse() {
            Ok(num) => num,
            Err(_) => 0,
    };
    
    for _ in 0..cnt {
        r = String::new();
        io::stdin().read_line(&mut r).ok().expect("failed to read line");
        let v: Vec<&str> = r.trim().split(' ').collect();
        let v1 :u32 = match v[0].trim().parse() {
            Ok(num) => num,
            Err(_) => 0,
        };
        let v2 :u32 = match v[1].trim().parse() {
            Ok(num) => num,
            Err(_) => 0,
        };
        println!("{}",v1 + v2)
    }
}

当然,大海啊都是水,算法啊都没有...我只是想记录下怎么在那个oj上提代码而已...

Categories: Code

Yu

Ideals are like the stars: we never reach them, but like the mariners of the sea, we chart our course by them.

Leave a Reply

Your email address will not be published. Required fields are marked *