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上提代码而已...