dependabot に従った細かいバージョンアップ。
- bouzuya/serde-firestore-value (crates:serde-firestore-value) 0.5.3
- bouzuya/genpi 0.4.5
- bouzuya/genuuid 0.5.8
Magic Trackpad のおそらく 7 回目の充電。だいたい 20+ 日ごとに充電が必要になっている。
PAST #4 第四回 アルゴリズム実技検定 過去問
- F - 構文解析
https://atcoder.jp/contests/past202010-open/tasks/past202010_f
- 提出: https://atcoder.jp/contests/past202010-open/submissions/50291674
- 問題の意味がうまくとれていなくて混乱した
- 単語の出現回数で並べたときに K 番目に出現回数が多い単語を出力する
- ただし K 番目になる単語が複数ある場合は AMBIGUOUS を出力する
- 出現回数を数えて、出現回数で並べて、先頭から K - 1 個を無視して、 K 個目が複数かを調べて、複数なら AMBIGUOUS そうでなければその単語をを出力する
use std::{ cmp::Reverse, collections::{BTreeMap, HashMap}, }; use proconio::input; fn main() { input! { n: usize, k: usize, s: [String; n], }; let mut map = HashMap::new(); for s_i in s { *map.entry(s_i).or_insert(0_usize) += 1; } let mut map2 = BTreeMap::new(); for (s, c) in map { map2.entry(Reverse(c)).or_insert_with(Vec::new).push(s); } let mut sum = 0_usize; for (_, ss) in map2.into_iter() { if sum + ss.len() < k { sum += ss.len(); continue; } if ss.len() == 1 { println!("{}", ss[0]); } else { println!("AMBIGUOUS"); } return; } }
今日のコミット。
- rust-atcoder 1 commit
- serde-firestore-value 4 commits
- genpi 2 commits
- genuuid 2 commits