【C++】AtCoder Programming Practice 問題解説まとめ
mintson
【公式】夜猫ミントのブログ
今回はAtCoderの問題をC++で解いてみました!
この問題は簡単な四則演算で解けるのでぜひ試してみてください!
問題としては高橋君がロボットを作り頭と体でパーツが分かれています。
Hグラムの頭がBグラムの体より大きかったら崩れます。
そしてBグラムをあとどれくらい増やせば支えられるのかという問題です。
今回の場合はif分を使ってHがBより小さい場合は差分であるH-Bを出力する形を取っています。
#include <iostream>
using namespace std;
int main(){
int H, B;
cin >> H >> B;
if(H > B) cout << H - B << endl;
else cout << "0" << endl;
return 0;
}それ以外の場合は0と出力する形で簡単に解けました。
ですが、別の解き方として二つの数のMaxを比べる方法があります。
cout << max(0, H - B) << endl;これを使うと体の方が大きかったら0の方が大きくなるため出力は0となり、if分を書かずにコード量を少ない方法で行けます。
競技プログラミングはこのように解き方が一つでないところが面白いなと思いました。