题目很水。主要是学会了怎么重载>>,记录一下。
因为输入的数据要存入变量中,故重载>>的函数参数表中要以引用的方式传参
题目链接: https://www.patest.cn/contests/gplt/L1-005
代码:
#include <iostream>
#include<queue>
#include<algorithm>
#include<cmath>
#include<cstring>
#include<map>
using namespace std;
map<int,int> m;
struct student
{
string id;
int num1,num2;
friend istream& operator>>(istream& c,student &a)
{
cin>>a.id>>a.num1>>a.num2;
}
friend ostream& operator<<(ostream& c,student a)
{
cout<<a.id<<' '<<a.num2<<endl;
}
}stu[1005];
int N,T,num;
int main()
{
ios::sync_with_stdio(false);
while(cin>>N)
{
for(int i=0;i<N;i++)
{
cin>>stu[i];
m[stu[i].num1] = i;
}
cin>>T;
for(int i=0;i<T;i++)
{
cin>>num;
cout<<stu[m[num]];
}
}
}