double
型を使いたくなる問題。実は使わなくても解ける。
問題概要
メートル離れた場所で待ち合わせがある。残り時間は 分である。
分速 メートルで向かうとき、待ち合わせ時間に間に合うか?
解法
分速 メートルで メートル進むのに要する時間は
と求められる。よって、待ち合わせに間に合う条件は
と書ける。これを実装すれば AC できるが......左辺は整数とは限らず、一般には小数になることに注意しよう。double
型などを用いて計算できる。
整数だけで済ませる
しかし一般論として、double
型には誤差がつきものである。可能ならば、整数型だけで処理を済ませたいのだ。今回はそれが可能だ。上の不等式で、両辺に をかけると
となる。これなら、整数型の範囲で判定可能だ!
#include <bits/stdc++.h> using namespace std; int main() { int D, T, S; cin >> D >> T >> S; if (D <= T * S) cout << "Yes" << endl; else cout << "No" << endl; }