此筆記為UVa 10055的題目詳解,包含解題思路、C++範例程式碼。

Hashmat the Brave Warrior (ZeroJudge a012.)

題目

Hashmat是一個勇敢的將領,他帶著年輕的士兵從這個城市移動到另一個城市與敵人對抗。在打仗之前他會計算己方與敵方士兵的數目差距,來決定是要開打或不開打。Hashmat的士兵數絕不會比敵人的士兵數大。

輸入 / 輸出說明

輸入說明 輸出說明
每組測試資料1列,有2個整數,代表Hashmat及敵人的士兵數或反之。這些數不會超過 $2^{63}$。 對每組測試資料請輸出Hashmat與敵人士兵數目的差(正數)。

解題思路

直接做 a - b 取絕對值即可。 記得用 long long int,因為是 $2^{63}$。

範例程式碼

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <bits/stdc++.h>
using namespace std;

int main()
{
ios::sync_with_stdio(false);
cin.tie(0);

long long int a, b;

while (cin >> a >> b) {
cout << abs(a - b) << endl;
}

return 0;
}

運行結果

AC (1ms, 308KB)

查看更多資訊請至:https://www.tseng-school.com/