結果
問題 | No.349 干支の置き物 |
ユーザー |
|
提出日時 | 2016-03-13 14:46:42 |
言語 | Rust (1.83.0 + proconio) |
結果 |
AC
|
実行時間 | 1 ms / 2,000 ms |
コード長 | 718 bytes |
コンパイル時間 | 15,071 ms |
コンパイル使用メモリ | 379,208 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-11-17 07:26:46 |
合計ジャッジ時間 | 14,627 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 29 |
コンパイルメッセージ
warning: unused import: `std::cmp::*` --> src/main.rs:1:5 | 1 | use std::cmp::*; | ^^^^^^^^^^^ | = note: `#[warn(unused_imports)]` on by default
ソースコード
use std::cmp::*; use std::collections::HashMap; fn getline() -> String { let mut ret = String::new(); std::io::stdin().read_line(&mut ret).ok(); return ret; } fn parse<T : std::str::FromStr>(s : &str) -> T { match s.parse::<T>() { Ok(t) => t, _ => panic!(), } } fn main() { let n = parse(getline().trim()); let mut hm: HashMap<String, i32, _> = HashMap::new(); for _ in 0 .. n { let a: String = String::from(getline().trim()); if let Some(x) = hm.clone().get(&a) { hm.insert(a, x + 1); } else { hm.insert(a, 1); } } println!("{}", if hm.values().all(|&x| x <= (n + 1) / 2) { "YES" } else { "NO" }); }