朝の散歩を続けている。目覚ましで起きると眠い。
下の子は妻がぼくを名前で呼ぶと「 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
- A - Large Digits
https://atcoder.jp/contests/abc187/tasks/abc187_a
- 提出: https://atcoder.jp/contests/abc187/submissions/47139396
- 指示通りの s を書いて
s(a).max(s(b))
- B - Gentle Pairs
https://atcoder.jp/contests/abc187/tasks/abc187_b
- 提出: https://atcoder.jp/contests/abc187/submissions/47139658
- i, j の組をすべて試す
- 浮動小数点数不安だったけど通ったのでいいや
- C - 1-SAT
https://atcoder.jp/contests/abc187/tasks/abc187_c
- 提出: https://atcoder.jp/contests/abc187/submissions/47139868
- 要するに
a
と!a
のような!
のあるものないものが両方そろっていれば表示する - ひとつの set で管理すると
!
の有無を管理しづらいので map か 2 つの set で管理すると良さそう
- D - Choose Me
https://atcoder.jp/contests/abc187/tasks/abc187_d
- 未着手
- E - Through Path
https://atcoder.jp/contests/abc187/tasks/abc187_e
- 未着手
- F - Close Group
https://atcoder.jp/contests/abc187/tasks/abc187_f
- 未着手
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"); }
今日のコミット。