歡迎訪問我的新博客:http://www.milkcu.com/blog/
原文地址:http://www.milkcu.com/blog/archives/uva10055.html
題目描述
Problem A
Hashmat the brave warrior
Input: standard input
Output: standard output
Hashmat is a brave warrior who with his group of young soldiers moves from one place to another to fight against his opponents. Before fighting he just calculates one thing, the difference between his soldier number and the opponent's soldier number. From this difference he decides whether to fight or not. Hashmat's soldier number is never greater than his opponent.
Input
The input contains two integer numbers in every line. These two numbers in each line denotes the number of soldiers in Hashmat's army and his opponent's army or vice versa. The input numbers are not greater than 2^32. Input is terminated by End of File.
Output
For each line of input, print the difference of number of soldiers between Hashmat's army and his opponent's army. Each output should be in seperate line.
Sample Input:
10 1210 14
100 200
Sample Output:
24
100
Shahriar Manzoor
16-12-2000
解題思路
注意32位整數的範圍,使用無符號整數或64位整數。
一道非常簡單的題,答案爲什麼總是錯誤的呢?
These two numbers in each line denotes the number of soldiers in Hashmat's army and his opponent's army orvice versa.
注意vice versa”,反之亦然。但是還是無法通過。
通過多次試驗,發現絕對值函數abs()竟然在<algorithm> 頭文件中。
代碼實現
#include <iostream>
#include <algorithm>
#include <cmath>
using namespace std;
int main(void) {
long long a, b;
while(cin >> a >> b) {
cout << abs(b - a) << endl;
}
return 0;
}
(全文完)