Cover Image for [Boot camp for Beginners] B - Coins [Rust]

[Boot camp for Beginners] B - Coins [Rust]

概要

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

学んだことmemo

  • A, B, C が50ということは最大でも組み合わせは、50 * 50 * 50 = 125,000 通り
    • このぐらいなら全パターン計算して合計金額があってるものだけ取り出せば良さそう
  • Xが50の倍数固定なので、全ての単価は50で割っておけば計算多少は少なくなるか...? (誤差な気はする)
  • どう全パターンを作るか
    • vec![(10, a), (2, b), (1, c)] の unit と 枚数の tuple を作っておく
    • tuple毎に、(0..=*n).map(|i| i * unit) でその unit を組み合わせた金額の vec ができる
    • あとはvecを fold で組み合わせて最終的な合計金額の vec を作ればOK
  • 最後に x/50 と同一かどうかでfilterしてcountすれば終了