結果
| 問題 |
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)
}