ABC467 A - Obesity
肥満
考え方
入力は整数が $2$ つなので、int 型の変数を $2$ つ用意し、cin で入力を受け取る。
さて、問題の単位を適切に変換すると、$W \div \left( \dfrac{H}{100} \right)^2 \geq 25$ であるか判定すればよい。
しかしここに $1$ つ罠がある。
プログラムは小数の扱いが苦手で、非常に細かい誤差が発生することがある。
そのため、等号や不等号の成立判定を、一部の値で間違えてしまう。
今回も、$H$ を $100$ で割ったり、$W$ をその $2$ 乗で割ったりすると、不等号判定の正確性が信頼できない。
そこで、分数の割り算を逆数の掛け算に変えて分母を払った $10000W \geq 25H^2$ で判定を行う。
これを if 文の判定に書き、出力する文字列を決定する。
if 文の中で直接 cout してもいいし、事前に出力用文字列を用意してもよい。
入力例1での動作
入力を受け取る。
h: 180
w: 60
答え用の変数 result を "No" で初期化する。
result: "No"
w*10000 は $600000$、25*h*h は $810000$ である。
$600000$ は $810000$ 以上ではないので、result は変更しない。
result: "No"
最後に、result を出力すればよい。
注意点
特になし。
別解
特になし。