Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- use std::io;
- use std::collections::HashMap;
- use std::collections::hash_map::Entry;
- #[allow(dead_code)]
- fn to_str(values: [i32; 100]) -> String {
- let mut sorted: Vec<i32> = Vec::new();
- for i in 0 .. 100{
- if values[i] == 0 {continue}
- for _ in 0 .. values[i as usize] {sorted.push(i as i32)}
- }
- sorted
- .iter()
- .map(i32::to_string)
- .collect::<Vec<_>>()
- .join(" ")
- }
- fn main() {
- let reader = io::stdin();
- let mut input = String::new();
- let mut cases = HashMap::<i32, Vec<String>>::new();
- reader.read_line(&mut input).expect("fail to readline");
- let size = input.parse::<usize>().expect("a number is expected");
- for _ in 0 .. size {
- input.clear();
- reader.read_line(&mut input).expect("fail to readline");
- let new_elem: Vec<&str> = input
- .split_whitespace()
- .collect();
- let (index, value) = (new_elem[0].parse::<i32>().expect("a number is expected"),
- new_elem[1].to_owned().clone());
- match cases.entry(index) {
- Entry::Vacant(e) => e.insert(vec![value]),
- Entry::Occupied(e) => e.into_mut()
- };
- }
- }
Add Comment
Please, Sign In to add comment