## BTreeMap 有序Map无序再排序
use std::collections::btree_map::Entry; use std::collections::BTreeMap; use std::io; pub fn main(){ let mut line1 = String::new(); io::stdin().read_line(&mut line1).expect("expect a line"); let num = line1.trim_end().parse::<i32>().unwrap(); let mut map = BTreeMap::<i32, i32>::new(); for _ in 0..num { line1.clear(); io::stdin().read_line(&mut line1).expect("expect a line"); let pair: Vec<i32> = line1 .trim_end() .split(' ') .map(|s| s.parse::<i32>().unwrap()) .collect(); map.entry(pair[0]) .and_modify(|entry| *entry += pair[1]) .or_insert(pair[1]); } for (key, value) in map.iter() { println!("{} {}", key, value); } }