SRM275 Div2 Easy - HingedDoor

今日もDiv2 Easyから。

HingedDoor

いちいち英語載せても邪魔なので問題文はリンク参照(ログインしないと見れません)。
で、適当訳。

ヒンジ付きのドアの開いた角度と減衰率が与えられたとき、閉じた状態になるまでの往復の回数(片道を1回とカウント)を返す。ただし角度が5度以下になったら閉じた状態となる。

ということで何も捻るところはないのでそのまま実装。

プログラム

今回はクラスだけ。

class HingedDoor {
public:
  int numSwings (int initialAngle, int reduction) {
    double presentAngle = initialAngle;
    int count = 0;

    while (presentAngle > 5.0) {
      presentAngle /= reduction;
      count++;
    }

    return count;
  }
};

所感

今回は配列を扱わなかったので詰まることなく数分で書けました。配列・文字列をうまく扱えるようになるのが今の自分の課題です。

昨日の問題ですが、TopCoderのページにある問題文から考えてたので最初配列で考えてたんですけど、ArenaでC++の問題文見たら入力がvectorでした。これからはArenaで問題文を読みましょう。あとプラグイン便利すぎワロタ。