第一篇博客,嗯,从这一篇blog开始记录我在编程等方面的学习、解题和实践应用。
先上题目:
Problem A
Ecological Premium
Input: standard input
Output: standard output
Time Limit: 1 second
Memory Limit: 32 MB
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.
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.
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
(The Joint Effort Contest, Problem setter: Frank Hutter)
这一题就是其实就是the final premium of a farmer=①the size of the farmyard in square meters * ②the integer value that expresses the farmer’s environment-friendliness,然后再把同一个case的各个the final premium of a farmer加起来输出就行了。值得注意的是农场面积,动物的数量以及农民的环境友好度的取值范围是 0<=integer<=100000;如果只是把农场面积和友好度都只是定义为int的话那么如果这两个值都比较大的时候输出就错了。
其次,就是根据白书的指点每一行输出应以回车符结束,包括最后一行。(这个还有待考证)
上代码:
#include <stdio.h> #include <stdlib.h> int main() { int i,n; long long sum,a,b,c; scanf("%d",&i); while(i) { sum=0; scanf("%d",&n); while(n) { scanf("%I64d %I64d %I64d",&a,&b,&c); sum+=a*c; n--; } printf("%I64d",sum); i--; printf("\n"); } return 0; }
由于我使用的code blocks,这里用的输入输出longlong都用了%I64d,注意上传到OJ上面的时候要先把用%I64d的地方换成%lld,否则好像会判错。