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本しかなく、間隔を考える必要がないため、必ず条件を満たします。
アルゴリズム
- 入力から \(N\), \(W\), \(K\) を受け取る。
- \(N = 1\) のときは
Yesを出力して終了。 - それ以外の場合、間隔 \(\text{interval} = \frac{W}{N - 1}\) を計算。
- \(\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: