PAT(甲级)1083

来源:互联网 发布:数据库备份与灾难恢复 编辑:程序博客网 时间:2024/06/06 07:08

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

#include <iostream>using namespace std;struct Student{string name;string ID;int grade;};Student stu[105];int main(){int N;int grade_low,grade_high;int *list1 =  new int[105]();//freopen("test.txt","r",stdin);cin >>N;for(int i=1;i<=N;i++){cin >>stu[i].name >>stu[i].ID >>stu[i].grade;list1[stu[i].grade] = i;}cin >>grade_low >>grade_high;int count = 0;for(int i = grade_high;i >= grade_low;i--)    if(list1[i]){    count++;    cout <<stu[list1[i]].name <<' '<<stu[list1[i]].ID   <<endl;}        if(!count)    cout <<"NONE"  <<endl;//fclose(stdin);return 0;}

0 0
原创粉丝点击