PAT A1083 List Grades
- 因为题目给了grade是互不相同的整数,所以用数组hash一下就相当于排序了
- 注意点:1.for循环是g2到g1;2.if(vs[i].name != “”)
#include<iostream>
#include<vector>
#include<algorithm>
#include<string>
using namespace std;
struct Stu{
string name,ID;
};
vector<Stu> vs;
int main(){
int num;
cin >> num;
vs.resize(101);
for(int i = 0;i < num;i ++){
string name,ID;
int grade;
cin >> name >> ID >> grade;
vs[grade].name = name;
vs[grade].ID = ID;
}
int g1,g2;
cin >> g1 >> g2;
int cnt = 0;
for(int i = g2;i >= g1 && i <= 100 && i >= 0;i --){
if(vs[i].name != ""){
cout << vs[i].name << ' ' << vs[i].ID << endl;
cnt ++;
}
}
if(cnt == 0) cout << "NONE\n";
return 0;
}