当前位置:网站首页>PAT serie a 1137 final grades
PAT serie a 1137 final grades
2022-08-02 17:04:00 【keyboard sonata】
For students studying "Data Structures" in MOOCs of Chinese universities, in order to obtain a certificate, they must first obtain at least 200 points for online programming assignments, and then obtain at least 60 points in the overall evaluation (out of 100 points)).
The calculation formula of the overall evaluation score is G=(Gmid−term×40%+Gfinal×60%), if Gmid−term>Gfinal; otherwise, the overall evaluation G is Gfinal.
Here Gmid−term and Gfinal are the student's midterm and final grades, respectively.
The problem now is that each exam produces a separate report card.
This question asks you to write a program to combine different transcripts into one.
Input format
The input gives 3 integers on the first line, P (the number of students who did online programming assignments), M (the number of students who took the midterm exam), N (the number of students who took the final exam).Three blocks of input follow.
The first block contains P online programming grades Gp;
The second block contains M midterm test scores Gmid−term;
The third block contains N final exam scores Gfinal.
Each grade occupies one line, the format is: student number score.
Where Student ID is English letters and numbers with no more than 20 characters; Score is a non-negative integer (the maximum total score for programming is 900, and the maximum score for mid-term and final is 100).
Output Format
Prints out the list of students who have received certificates.One line for each student in the format:
Student Number Gp Gmid−term Gfinal G
If some grades do not exist (eg someone did not take the midterm exam), output "−1" in the corresponding position.The output order is in descending order of the total score (rounded to the nearest whole number).
If there is a tie, it will be incremented by student number.
The question ensures that the student number is not duplicated and that there is at least 1 qualified student.
Data Range
1≤P,M,N≤10000
Input Example:
6 6 7
01234 880
a1903 199
ydjh2 200
wehu8 300
dx86w 220
missing 400
ydhfu77 99
wehu8 55
ydjh2 98
dx86w 88
a1903 86
01234 39
ydhfu77 88
a1903 66
01234 58
wehu8 84
ydjh2 82
missing 99
dx86w 81
Example output:
missing 400 -1 99 99
ydjh2 200 98 82 88
dx86w 220 88 81 84
wehu8 300 55 84 84
My solution:
#include using namespace std;struct Student{string id;int p, m, f, s;Student(): p(-1), m(-1), f(-1), s(0){}void calc(){if(m > f) s = round(m*0.4 + f*0.6);else s = f;}bool operator< (const Student& t) const{if(s != t.s) return s > t.s;else{return id < t.id;}}};int main(){int p, m, n;cin >> p >> m >> n;unordered_map hash;string id;int s;for(int i = 0; i < p; i ++ ){cin >> id >> s;hash[id].id = id;hash[id].p = s;}for(int i = 0; i < m; i ++ ){cin >> id >> s;hash[id].id = id;hash[id].m = s;}for(int i = 0; i < n; i ++ ){cin >> id >> s;hash[id].id = id;hash[id].f = s;}vector students;for(auto per : hash){auto stu = per.second;stu.calc();if(stu.p >= 200 && stu.s >= 60) students.push_back(stu);}sort(students.begin(), students.end());for(auto re : students){cout << re.id << ' ' << re.p << ' ' << re.m << ' ' << re.f << ' ' << re.s << endl;}return 0;} Harvest:
Structure constructor initialization: Student(): p(-1), m(-1), f(-1), s(0){}
Define the internal function of the structure
边栏推荐
- Servlet运行原理_API详解_请求响应构造进阶之路(Servlet_2)
- lammps聚合物建模——EMC
- js中的join()方法
- MySQL----多表查询
- 为什么四个字节的float表示的范围比八个字节的long要广?
- Explain in detail how the bit manipulation operators in C language can be used?
- 已解决ModuleNotFoundError: No module named‘ pip‘(重新安装pip的两种方式)
- 机械键盘失灵
- Reading is the cheapest and noblest
- HDU1561 树形背包dp+边界优化 0ms过题
猜你喜欢

为什么四个字节的float表示的范围比八个字节的long要广

2022-07-29 第六小组 瞒春 学习笔记

(数学基础)第三章-3.2-标准记号和常用函数

【Frequency Domain Analysis】Spectral leakage, frequency resolution, picket fence effect

双亲委派机制

2022-07-21 第六小组 瞒春 学习笔记

2022-07-25 第六小组 瞒春 学习笔记

lambda表达式、Stream接口及Optional类

2022-7-15 第五组 瞒春 学习笔记

Servlet运行原理_API详解_请求响应构造进阶之路(Servlet_2)
随机推荐
已解决ModuleNotFoundError: No module named‘ pip‘(重新安装pip的两种方式)
【go-zero】go-zero 框架踩坑指南 Q&A (持续更新中)
Redis的5中数据类型总结
vite.config.ts introduces the `path` module Note!
Mechanical keyboard failure
Filter 过滤器
JSP技术
从零开始的循环之旅(下)
PAT Class A 1019 Common Palindrome Numbers
Impulse response invariant method and bilinear transformation method for IIR filter design
有效的括号【暴力、分支判断、哈希表】
VsCode更新后,怎么使用使用快捷键同时生成多个元素
Window function method for FIR filter design
MySQL语法入门
DOM - Event Mechanism and Event Chain
lammps学习(一)单晶硅纳米磨削
2022-7-12 第五组 瞒春 学习报告
2021 Huawei Cup Mathematical Modeling Contest E question - Ultra-Wideband (UWB) precise positioning problem under signal interference
XGBoost 和随机森林在表格数据上优于深度学习?
DOM - Event Delegate