## 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);
}
}



京公网安备 11010502036488号