動画解説
今回の問題は簡単なif文、もしくは絶対値を使えば解ける問題です。
問題文の解説
こちらの問題はUVAの競技プログラミングです。
Online Judge
Online Judge
問題文の解説をするとHashmatの兵士と敵の兵士と戦う時は相手との人数差を考慮したい。
なので、その敵の兵士の数の差を求めようという問題です。
input・outputフォーマット
Sample Input
10 12
10 14
100 200
Sample Output
2
4
100
サンプルコード
サンプルコードはGitHub上にアップロードしております。
cpe/一顆星/uva10055/01.cpp at main · mintson0517/cpe
Contribute to mintson0517/cpe development by creating an account on GitHub.
コードの解説
問題文の中に以下の文章があります。
These two numbers in each line denotes the number soldiers in Hashmat’s army and his opponent’s army or vice versa.
各行の2つの数字は、ハシュマット軍と対戦相手軍の兵士の数、またはその逆を示す。
つまりサンプルインプットのように必ずしも後ろの数字が大きいわけではない点には注意が必要です。
今回は絶対値(absolute value)を使用していきます。
まずは必要なヘッダーファイルをインクルードします。
#include <iostream> //標準入出力
#include <cstdlib> //関数やマクロを提供しているライブラリ
using namespace std;
using namespace std;
は、 std
名前空間内のすべての標準ライブラリ関数やオブジェクトに対して、名前空間の指定なしにアクセスできるようにします。
これにより、std::cout
のように毎回 std::
を書く必要がなくなります。
int main(){
long long a, b;
while(cin >> a >> b){
cout << abs(a - b) << endl;
}
return 0;
}
long型のa,bを定義してからwhileループを使用します。
while (条件) {
// 条件が真の間、このブロック内のコードが繰り返し実行される
}
つまりa,bが入力されなかった場合は偽となりループが終了します。
兵士の差はabs関数を使用して負の値にならないように求めます。
絶対値の使い方がわからない方は、一応if文で差を求めることができます。
if(a > b){
cout << a - b << endl;
}else{
cout << b - a << endl;
}
ご参考に!