1083. List Grades (25)

来源:互联网 发布:网络工程项目期中考试 编辑:程序博客网 时间:2024/06/05 06:13

1083. List Grades (25)

时间限制
400 ms
内存限制
65536 kB
代码长度限制
16000 B
判题程序
Standard
作者
CHEN, Yue

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:

Nname[1] ID[1] grade[1]name[2] ID[2] grade[2]... ...name[N] ID[N] grade[N]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:
4Tom CS000001 59Joe Math990112 89Mike CS991301 100Mary EE990830 9560 100
Sample Output 1:
Mike CS991301Mary EE990830Joe Math990112
Sample Input 2:
2Jean AA980920 60Ann CS01 8090 95
Sample Output 2:
NONE

提交代码

题目大意:

给出N个学生的姓名,准考证号、分数。按分数从大到小排序,输出给定区间的学生的姓名和准考证号。

1055题和这道题目极其相似,而且难度更高,做完这题可以看看1055题。

#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>using namespace std;#define N 100010struct node{char name[11];char id[11];int grade;}a[N];bool cmp(node x,node y){return x.grade > y.grade;}int main(){int n,k;int m,l,r;//freopen("input.txt","r",stdin);scanf("%d",&n);for(int i = 0;i < n;i++){scanf("%s %s %d",a[i].name,a[i].id,&a[i].grade);//printf("%s %s %d\n",a[i].name,a[i].id,a[i].grade);}sort(a,a+n,cmp);scanf("%d%d",&l,&r);int cnt = 1;int flag = 0;for(int i = 0;i < n;i++){if(a[i].grade>=l&&a[i].grade<=r){printf("%s %s\n",a[i].name,a[i].id);flag = 1;}}if(flag == 0){printf("NONE\n");}return 0;}


原创粉丝点击