The Problem
German farmers are given a premium depending on the conditions at their farmyard. Imagine the following simplified regulation: you know the size of each farmer's farmyard in square meters and the number of animals living at it. We won't make a difference between different animals, although this is far from reality. Moreover you have information about the degree the farmer uses environment-friendly equipment and practices, expressed in a single integer greater than zero. The amount of money a farmer receives can be calculated from these parameters as follows. First you need the space a single animal occupies at an average. This value (in square meters) is then multiplied by the parameter that stands for the farmer's environment-friendliness, resulting in the premium a farmer is paid per animal he owns. To compute the final premium of a farmer just multiply this premium per animal with the number of animals the farmer owns.
The Input
The first line of input contains a single positive integer n (<20), the number of test cases. Each test case starts with a line containing a single integer f (0 < f < 20), the number of farmers in the test case. This line is followed by one line per farmer containing three positive integers each: the size of the farmyard in square meters, the number of animals he owns and the integer value that expresses the farmer’s environment-friendliness. Input is terminated by end of file. No integer in the input is greater than 100000 or less than 0.
The Output
For each test case output one line containing a single integer that holds the summed burden for Germany's budget, which will always be a whole number. Do not output any blank lines.
Sample Input
3
5
1 1 1
2 2 2
3 3 3
2 3 4
8 9 2
3
9 1 8
6 12 1
8 1 1
3
10 30 40
9 8 5
100 1000 70
Sample Output
38
86
7445
解題思考
讓我們直接依照題目敘述列成公式。
首先,我們需要算出每隻動物的平均居住空間,也就是農場大小除以動物數量。接著,乘上農夫的 environment-friendliness,再乘上動物的數量。
然後我們發現,你被唬了!動物的數量根本不必要,因為除以動物數量再乘上動物數量,剛好抵銷。
所以,只要將農場大小乘上 environment-friendliness 就是我們要的答案囉。
參考解答(C++)
#include <iostream> using namespace std; int main(void) { int n; cin >> n; for (int i = 0; i < n; i++) { int f, ans = 0; cin >> f; for (int j = 0; j < f; j++) { int area, animal, level; cin >> area >> animal >> level; ans += area * level; } cout << ans << endl; } #ifndef ONLINE_JUDGE system("pause"); #endif }
0 回覆:
張貼留言