PAT 108

来源:互联网 发布:嘉兴淘宝女装 编辑:程序博客网 时间:2024/04/30 08:57


题意:

好理解,给出学生信息,筛选符合成绩范围的学生,并用降序表示。


注意点:

主要在于要排序。这里我用一下优先队列。

priority_queue<student> q;

同时要在结构体中重载运算符

struct student{string name, id;int grade;bool operator < (student a) const        {          //当<号和<号对应时,先出队的是为成绩最大的,即大顶堆。return grade < a.grade;        }};


//628K94MS#include<cstdio>#include<algorithm>#include<cstring>#include<iostream>#include<stack>#include<vector>#include<queue>#include<string>using namespace std;#define inf 0x3f3f3f3f#define M 100000struct student{string name, id;int grade;bool operator < (student a) const    {      //先出队的是为成绩最大的return grade < a.grade;    }};student s[M];int main(){int n,maxg,ming;cin>>n;int i;for(i = 0 ;i < n; i++){cin>>s[i].name;cin>>s[i].id;cin>>s[i].grade;}scanf("%d%d",&ming, &maxg);priority_queue<student> q;for(i = 0; i < n; i++){if(s[i].grade>=ming && s[i].grade <= maxg){q.push(s[i]);}}if(q.empty()){cout<<"NONE"<<endl;return 0;}student stu;while(!q.empty()){stu = q.top();q.pop();cout<<stu.name<<" "<<stu.id<<endl;}return 0;}









原创粉丝点击