题解 | #合并表记录#
合并表记录
https://www.nowcoder.com/practice/de044e89123f4a7482bd2b214a685201
use std::io::{self, *}; use std::collections::HashMap; fn main() { let mut s = String::new(); std::io::stdin().read_line(&mut s).unwrap(); //行数 let n = s.trim().parse::<i32>().unwrap(); let mut map: HashMap<i32, i32> = HashMap::new(); for _ in 0..n { let mut s = String::new(); std::io::stdin().read_line(&mut s).unwrap(); let mut iter = s.split_whitespace(); let key = iter.next().unwrap().parse::<i32>().unwrap(); let value = iter.next().unwrap().parse::<i32>().unwrap(); if map.contains_key(&key) { map.insert(key, map.get(&key).unwrap() + value); }else { map.insert(key, value); } } let mut keys: Vec<i32> = map.keys().copied().collect(); keys.sort(); keys.iter().for_each(|key| { println!("{} {}", key, map.get(key).unwrap()); }); }