Cover Image for [Boot camp for Beginners] B - Ruined Square [Rust]

[Boot camp for Beginners] B - Ruined Square [Rust]

概要

AtCoder Problems: Boot camp for Beginners をRustで解いてみる

学んだことmemo

  • 急にむずい
  • 長さ求めて回転させればいい...?
    • そもそもどう計算していいかがわからない
  • わからないので解説見てみる
  • そのまま回転行列素直に実装してみた
  • cos() / sin() の誤差どうするか
    • 今回の問題だと90°しか回さないので、細かい計算は省ける
    • sin(90°) = 1cos(90°) = 0 と置いて、実際の計算を省いて解くと誤差を無視できそう
    • この方法でいけた
  • 知らないと解けないタイプの問題だったので特に難しかった
    • 高校数学の知識とはいえ、忘れてるから辛い
  • rust での行列計算は ndarray - Rust を使うというのが今回の学び
    • 最終的に使わなかったが、f64 に sin() や cos() が生えてるのを知れたのも学び
    • また、f64 は to_radians で radian に変換できるのもわかった