結果
問題 |
No.2997 Making YuzuKizu
|
ユーザー |
|
提出日時 | 2025-03-16 21:50:40 |
言語 | Rust (1.83.0 + proconio) |
結果 |
AC
|
実行時間 | 21 ms / 2,000 ms |
コード長 | 1,259 bytes |
コンパイル時間 | 13,292 ms |
コンパイル使用メモリ | 400,380 KB |
実行使用メモリ | 7,324 KB |
最終ジャッジ日時 | 2025-03-16 21:50:55 |
合計ジャッジ時間 | 14,454 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 17 |
ソースコード
#[allow(unused)] use proconio::{input, marker::Chars}; use std::collections::HashMap; fn main() { input! { s: String, } let mut counter = HashMap::<char, i32>::new(); for c in s.chars() { *counter.entry(c).or_default() += 1; } let yukari = HashMap::from([('y', 1), ('u', 1), ('k', 1), ('a', 1), ('r', 1), ('i', 1)]); let akari = HashMap::from([('a', 2), ('k', 1), ('r', 1), ('i', 1)]); let yuzukizu = HashMap::from([('y', 1), ('u', 3), ('z', 2), ('k', 1), ('i', 1)]); let mut y = std::i32::MAX; for (k, &v) in yukari.iter() { if !counter.contains_key(&k) || counter[&k] < v { y = 0; break; } else { y = y.min(counter[&k] / v); } } let mut a = std::i32::MAX; for (k, &v) in akari.iter() { if !counter.contains_key(&k) || counter[&k] < v { a = 0; break; } else { a = a.min(counter[&k] / v); } } let mut x = std::i32::MAX; for (k, &v) in yuzukizu.iter() { if !counter.contains_key(&k) || counter[&k] < v { x = 0; break; } else { x = x.min(counter[&k] / v); } } println!("{} {} {}", y, a, x) }