blog.bouzuya.net

2023-11-01 朝の散歩を続けている / ABC187 A, B, C を解いた

朝の散歩を続けている。目覚ましで起きると眠い。


下の子は妻がぼくを名前で呼ぶと「 xxx ちゃう、おとうさん!」と訂正してくる。子どもが親を名前呼びするのを妻が注意したことによってみんな名前呼びできなくなった。


bouzuya/kireta で Firebase Emulator への接続設定をした。 Dev Container で Rust と Firebase の Docker イメージを接続して………。今回は crates:google-authz を使っている。 no_credential が用意されているのが良い。 tower::Service を実装しているので tonic の client の inner として使える。良い。


ABC187 : AtCoder Beginner Contest 187

use std::collections::HashSet;

use proconio::input;

fn main() {
    input! {
        n: usize,
        s: [String; n],
    };
    let mut set1 = HashSet::new();
    let mut set2 = HashSet::new();
    for s_i in s {
        if !s_i.starts_with('!') {
            if set2.contains(&s_i) {
                println!("{}", s_i);
                return;
            }
            set1.insert(s_i);
        } else {
            if set1.contains(s_i.trim_start_matches('!')) {
                println!("{}", s_i.trim_start_matches('!'));
                return;
            }
            set2.insert(s_i.trim_start_matches('!').to_owned());
        }
    }
    println!("satisfiable");
}

今日のコミット。