公式
A - リボンカット / Ribbon Cut 解説
by
A - リボンカット / Ribbon Cut 解説
by
physics0523
初心者の方へ
- AtCoder をはじめたばかりで何をしたらよいか分からない方は、まずは practice contest の問題A「Welcome to AtCoder」を解いてみてください。基本的な入出力の方法が載っています。
- また、プログラミングコンテストの問題に慣れていない方は、AtCoder Beginners Selection の問題をいくつか解いてみることをおすすめします。
- C++入門 AtCoder Programming Guide for beginners (APG4b) は、競技プログラミングのための C++ 入門用コンテンツです。
- Python入門 AtCoder Programming Guide for beginners (APG4bPython) は、競技プログラミングのための Python 入門用コンテンツです。
\(N\) を受け取った後、以下の処理を for 文等を用いて \(N\) 回繰り返せばよいです。
- \(L,T\) を受け取る。
- まず、 \(L/T\) の商と同じ数だけパーツが得られる。
- その後、 \(L\) を \(T\) で割った余りが \(1\) 以上かつ \(\lfloor T/2 \rfloor\) 以上であるなら追加で \(1\) つパーツが得られる。
- この判定は ( \(L\) を \(T\) で割った余り ) \(\ge \max(1,\lfloor T/2 \rfloor)\) かどうかで判定できます。
- 計算したパーツの個数を出力する。
実装例 (C++):
#include<bits/stdc++.h>
using namespace std;
using ll=long long;
int main(){
ll N;
cin >> N;
while(N--){
ll L,T;
cin >> L >> T;
ll res=(L/T);
if((L%T)>=max(1ll,T/2)){res++;}
cout << res << "\n";
}
return 0;
}
投稿日時:
最終更新:
