Toy と帽子と ADP BE

主にプログラミングに関わる話をゆるくエモくやっていきます

AtCoder Beginner Contest 168

まさかの1日2回幾何www(えでゅふぉとABC)

しかもsin, cos, tan全部出てきました。

各問題

A - ∴ (Therefore)

10で剰余を取って、後はif文で頑張りましょう。"hon"の時をelseにするのが一番効率がいいということにあとで気づきましたが、まあ誤差の範囲です。

B - ... (Triple Dots)

問題文をそのままコードに落とす系。基本的な文字列操作ができればできる問題です。

C - : (Colon)

幾何!

時計の中心を(0, 0)とした平面座標と考えて、指定した時刻にそれぞれの針の先端が平面座標のどの点に来るかを三角比で求め、後は二点間の距離です。

(追記)余弦定理?知らない子ですね。(←本当に気づかなかった人です・・・

D - .. (Double Dots)

ABCのDは全探索のD!

幅優先探索します。置くべき道標は、直前にいた部屋の番号です。

E - ∙ (Bullet)

ACならず。

  • A = B = 0の場合はどれと組んでも0になるので、それに関わる組み合わせすべてがだめ
  • A = 0B = 0の組み合わせはだめ
  • Ai * Bi > 0Aj * Bj < 0Ai / Bi = Bj / Ajとなる組み合わせはだめ

かと思ったんですけど、どうなんでしょうか?

あと、あってるとしてその場合の数を出す方法もわからずじまいでした。(だめやん

F - . (Single Dot) /

みてません。

まとめ

幾何でまごついたおかげで突き抜けたパフォーマンスにはならず。でも水色復帰にまた一歩前進です。

いやーでも数え上げのEはなんとかしたかったという気持ちもありつつ。

f:id:mdstoy:20200517231401p:plain