きろく

特筆すべき記録のまとめ

AtCoder Beginner Contest 144:D - Water Bottle

問題

https://atcoder.jp/contests/abc144/tasks/abc144_d

解法

底面の辺を軸として傾けているから,平面で考えてよい.ある角度より傾けると水がこぼれるという単調性があるから,「角度 θ 傾けたとき,水がこぼれるかどうか」を基準とした二分探索を行えばよい.

θ だけ傾けたときに容器内に含むことが出来る水の量は,平面上で三角形上になるか台形状になるかの 2 通りに場合分けし,tanθ を用いて計算できる.

解答

https://atcoder.jp/contests/abc144/submissions/9029976

f:id:babcs2035:20191221150259p:plain