[Login|Register]
Problems

Status

Rank

Problem 1201
GPA
Time Limit: 1000ms
Memory Limit: 65536kb
Description
科大的学生都很重视GPA,所以我们来编写一个成绩管理系统吧~
大多数高校都使用平均成绩绩点(Grade Point Average, 简称GPA)来评估学生成绩。科大的百分制成绩与绩点的对应关系如下:
百分制绩点
100~954.3
94~904.0
89~853.7
84~823.3
81~783.0
77~752.7
74~722.3
71~682.0
67~651.7
641.5
63~611.3
601.0
59~00.0

一个学生的平均分为各门课程百分制成绩的加权平均值:

同样地,平均成绩绩点为各门课程绩点的加权平均值:

请编写一个成绩管理系统处理成绩的录入、计算和查询等操作。
Input
输入数据只有一组。
第一行包括三个整数:学生总数n (1≤n≤500),课程总数m (1≤m≤500),操作总数q (1≤q≤100000)
接下来的n行每行为一个仅包含字母和数字的字符串,表示各个学生的学号。
接下来的m行每行为一个仅包含字母和数字的字符串,表示各个课程的编号;以及一个正整数,表示该课程的学分。
最后q行每行描述一次操作。各操作的格式和功能如下:
操作功能
score a b s学号为a的学生的课程b的百分制成绩为s,把该成绩登记录入系统。成绩不会重复录入。
student a根据当前系统中的数据,输出学号为a的学生百分制平均成绩和GPA,用单个空格隔开,四舍五入到小数点后两位
course b根据当前系统中的数据,输出课程b的百分制平均成绩,四舍五入到小数点后两位
query a b输出学号为a的学生的课程b的百分制成绩和绩点,用单个空格隔开。该成绩一定已经录入到系统中。

学号和课程编号长度不超过10个字符。
Output
对于操作student, course和query,按照上述描述输出。输入输出具体格式请参阅输入输出样例。
Sample Input
5 3 10
PB09123456
PB09654321
SA09123456
SA09654321
PB07010101
ABCDEFGHIJ 1
0123456789 2
0101010101 2
score PB09123456 0101010101 64
score PB09123456 0123456789 100
query PB09123456 0101010101
score SA09654321 0101010101 90
student PB09123456
course 0101010101
student PB07010101
course ABCDEFGHIJ
score PB09654321 0101010101 85
course 0101010101
Sample Output
64 1.50
82.00 2.90
77.00
0.00 0.00
0.00
79.67
Hint
请尽可能地优化你的程序,否则难以在规定时间内完成所有操作。
C语言可以用printf(“%.2lf\n”,s);四舍五入到小数点后两位输出double类型。
University of Science and Technology of China
Online Judge for ACM/ICPC
Processed in 1.6ms with 1 query(s).