您的位置:首页 > 其它

【codevs 1023】GPA计算

2016-11-12 23:35 183 查看
1023 GPA计算

时间限制: 1 s

空间限制: 128000 KB

题目等级 : 青铜 Bronze

题解

题目描述 Description

小松终于步入了大学的殿堂,带着兴奋和憧憬,他参加了信息科学技术学院的新生大会。会上,院长梅教授给大家介绍了在大学中的成绩计算方式:



需要解释一下的是,小松所在的PK大学采用的是学分制的修学方法。每一门课有一定的学分,例如线性代数2分,高等数学5分,大学英语8分。在选定了一些科目之后,只要小松通过了最后的期末测试(69以上),就会得到相应的学分,也会得到该门课的一个成绩,例如小松考了60分,他会得到0分的成绩,如果小松考了99分,他会得到4分的成绩。小松在大学的四年期间,必须修满145个学分。而小松的GPA得分则强烈的关系着他的出国,保研以及工作的情况。据梅教授的介绍,小松所在的院系有20%的人出国,60%的人读研,15%的人工作,5%的人退学。这些都是根据GPA成绩而定的。

小松仔细的研究了这个公式之后,意识到,在大学期间,占2个学分的思想政治课和占4个学分的线性代数将同等的重要。而占8个学分的大学英语课!·#¥!·#¥。

小松估算了一下他大一每门功课大概能够得到的分数(0-4),请你帮他计算一下他大一结束时能得到的GPA是多少。

输入描述 Input Description

请你从输入中读入相关数据。输入的第一行包括一个整数n(1≤n≤10),表示小松大一的时候功课数目。结下来的n行每行两个实数a(0≤a≤8)和b(0≤b≤4),表示小松某门课的学分和成绩。

输出描述 Output Description

输出只包括一个实数,请保留2位小数。

样例输入 Sample Input

(请忽略括号中的解释)

10

2 3.7(线性代数)

0 3(线性代数习题)

5 3.7(高等数学)

0 4(高等数学习题)

3 3.3(力学)

3 4(计算概论)

1 4(信息科学技术概论)

2 4(军事理论)

2 4(中国近代史)

2 3.5(大学英语I)

样例输出 Sample Output

3.74

数据范围及提示 Data Size & Hint

n(1≤n≤10)

模拟即可~

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
long long n;
double x[50505],d[50505];
double sum,did;
int main()
{
scanf("%lld",&n);

for(long long i = 1; i <= n; i ++)
cin >> x[i] >> d[i];
for(long long i = 1; i <= n; i ++)
{
sum += x[i];
d[i] *= x[i];
did += d[i];
}
printf("%.2f",did/sum);
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: