2023-09-26 おなかがいたい
おなかがいたい。
bouzuya/serde-firestore-value 。
自作の google crate から crates:google-api-proto に移行した。
prost-types のバージョンが下がったり、 HashMap
が BTreeMap
になったり、いろいろあるけど、ビルドに protoc が不要になったし、 crates.io への登録も見えてきたので良しとする。
PAST#13 第13回 アルゴリズム実技検定 過去問
- B - 分数比較
https://atcoder.jp/contests/past202212-open/tasks/past202212_b
- 提出: https://atcoder.jp/contests/past202212-open/submissions/45968796
- 除算を避けて
A * D
B * C
の比較にする B
とD
が正負が一致するならA * D < B * C
のとき<
となるがB
とD
の正負が一致しないならA * D > B * C
の判定になる<
が逆になると扱いづらいので後者のときB * C < A * D
と入れ替えることで判定しやすくしている
use proconio::input;
fn main() {
input! {
a: i64,
b: i64,
c: i64,
d: i64,
};
let ad = a * d;
let bc = b * c;
let ans = match (b > 0, d > 0) {
(true, true) | (false, false) => ad.cmp(&bc),
(true, false) | (false, true) => bc.cmp(&ad),
};
let ans = match ans {
std::cmp::Ordering::Less => '<',
std::cmp::Ordering::Equal => '=',
std::cmp::Ordering::Greater => '>',
};
println!("{}", ans);
}
今日のコミット。
- rust-atcoder 1 commit
- serde-firestore-value 9 commits