1083. List Grades (25)
2015-09-08 22:13
375 查看
题目链接:http://www.patest.cn/contests/pat-a-practise/1083
题目:
Given a list of N student records with name, ID and grade. You are supposed to sort the records with respect to the grade in non-increasing order, and output those student records of which the grades are in a given interval.
Input Specification:
Each input file contains one test case. Each case is given in the following format:
where name[i] and ID[i] are strings of no more than 10 characters with no space, grade[i] is an integer in [0, 100], grade1 and grade2 are the boundaries of the grade's interval. It is guaranteed that all the grades are distinct.
Output Specification:
For each test case you should output the student records of which the grades are in the given interval [grade1, grade2] and are in non-increasing order. Each student record occupies a line with the student's name and ID, separated by one space. If there is
no student's grade in that interval, output "NONE" instead.
Sample Input 1:
Sample Output 1:
Sample Input 2:
Sample Output 2:
分析:
结构体,排序,输出指定区间的元素
AC代码:
截图:
——Apie陈小旭
题目:
Given a list of N student records with name, ID and grade. You are supposed to sort the records with respect to the grade in non-increasing order, and output those student records of which the grades are in a given interval.
Input Specification:
Each input file contains one test case. Each case is given in the following format:
N name[1] ID[1] grade[1] name[2] ID[2] grade[2] ... ... name ID grade grade1 grade2
where name[i] and ID[i] are strings of no more than 10 characters with no space, grade[i] is an integer in [0, 100], grade1 and grade2 are the boundaries of the grade's interval. It is guaranteed that all the grades are distinct.
Output Specification:
For each test case you should output the student records of which the grades are in the given interval [grade1, grade2] and are in non-increasing order. Each student record occupies a line with the student's name and ID, separated by one space. If there is
no student's grade in that interval, output "NONE" instead.
Sample Input 1:
4 Tom CS000001 59 Joe Math990112 89 Mike CS991301 100 Mary EE990830 95 60 100
Sample Output 1:
Mike CS991301 Mary EE990830 Joe Math990112
Sample Input 2:
2 Jean AA980920 60 Ann CS01 80 90 95
Sample Output 2:
NONE
分析:
结构体,排序,输出指定区间的元素
AC代码:
#include<stdio.h> #include<iostream> #include<string> #include<vector> #include<algorithm> using namespace std; struct Stu{ string name; string id; int grade; }; vector<Stu>V_Stu; bool cmp(const Stu &A, const Stu &B){ //这个const一定要加上 return A.grade > B.grade; } int main(){ freopen("F://Temp/input.txt", "r", stdin); int n; cin >> n; V_Stu.clear(); while (n--){ Stu tmp_Stu; cin >> tmp_Stu.name >> tmp_Stu.id >> tmp_Stu.grade; V_Stu.push_back(tmp_Stu); } sort(V_Stu.begin(), V_Stu.end(), cmp); int start, end; int idx_s = -1, idx_t = -1; cin >> start >> end; for (int i = 0; i < V_Stu.size(); ++i){ if (V_Stu[i].grade <= end){ idx_s = i; break; } } for (int i = V_Stu.size() - 1; i >= 0; --i){ if (V_Stu[i].grade >= start){ idx_t = i; break; } } if (idx_s == -1 || idx_t == -1){ puts("NONE"); return 0; } for (int i = idx_s; i <= idx_t; i++){ cout << V_Stu[i].name << " " << V_Stu[i].id << endl; } return 0; }
截图:
——Apie陈小旭
相关文章推荐
- 简单二维数组转置问题
- 线程池原理Java
- .net重启iis线程池和iis站点程序代码分享
- MySQL博文归类
- BOM和DOM
- Trie树:统计词频、排序、查找
- 发送文件
- mysql数据库常用的函数
- cocos2D-x 学习之路(二)
- OpenJDK与HashMap……放心地教这个老家伙一些新(非堆!)技巧
- Mac 配置环境变量
- ubuntu常见问题
- JAVA Socket地址绑定
- 项目7.3 计算一周工资
- Android网络编程之JSON解析
- JavaScript对象
- ASM bug 11886915
- SQLite数据库存储、Android四大组件
- 在oncreate中如何获取view的高度和宽度
- 冒泡排序算法以优化