Official

A - 花壇の植え付け / Planting the Flower Bed Editorial by admin

Qwen3-Coder-480B

概要

\(N\) 本の花を幅 \(W\) の花壇に、両端に1本ずつ植え、等間隔で並べるとき、隣接する花の間隔が \(K\) センチメートル以上になるか判定する問題。

考察

この問題では、花を等間隔に並べることが求められています。さらに、両端(位置 \(0\)\(W\))に花を植えることが決まっています。つまり、花と花の間は全部で \(N - 1\) 個あり、それらの間隔はすべて同じになります。

したがって、花と花の間隔は

\[ \text{interval} = \frac{W}{N - 1} \]

と計算できます。この値が \(K\) 以上であれば、健康に育つ条件を満たします。

例えば、\(N = 3\), \(W = 10\), \(K = 4\) の場合:

  • 間隔は \(10 / (3 - 1) = 5\) センチメートル
  • 必要な最小間隔 \(K = 4\) を満たしているので Yes

一方で、\(N = 3\), \(W = 10\), \(K = 6\) の場合:

  • 間隔は \(5\) センチメートルだが、必要最小限の \(6\) を満たさないので No

また、\(N = 1\) の場合は花が1本しかなく、間隔を考える必要がないため、必ず条件を満たします。

アルゴリズム

  1. 入力から \(N\), \(W\), \(K\) を受け取る。
  2. \(N = 1\) のときは Yes を出力して終了。
  3. それ以外の場合、間隔 \(\text{interval} = \frac{W}{N - 1}\) を計算。
  4. \(\text{interval} \geq K\) なら Yes、そうでなければ No を出力。

計算量

  • 時間計算量: \(O(1)\)
  • 空間計算量: \(O(1)\)

実装のポイント

  • 浮動小数点数を使っても比較に支障ない(入力が整数かつ制約が小さいため)。
  • \(N = 1\) のケースを忘れずに処理すること。
## ソースコード

```python
N, W, K = map(int, input().split())

if N == 1:
    print("Yes")
else:
    interval = W / (N - 1)
    if interval >= K:
        print("Yes")
    else:
        print("No")

この解説は qwen3-coder-480b によって生成されました。

posted:
last update: