题目链接:
https://pintia.cn/problem-sets/994805260223102976/problems/994805281567916032
AC代码:
#include <iostream>
#include <algorithm>
#include <cstdio>
#include <string>
#include <vector>
#include <string.h>
#include <map>
using namespace std;
const int maxn=1001;
struct student{
char Num[14];
int visual;
int reality;
}stu[maxn];
int main(){
int n;
cin>>n;
for(int i=0;i<n;i++){
scanf("%s%d%d",stu[i].Num,&stu[i].visual,&stu[i].reality);//char型字符串遇到空格结束
}
int m;
cin>>m;
while(m--){
int research;
cin>>research;
for(int i=0;i<n;i++){
if(research==stu[i].visual){
cout<<stu[i].Num<<" "<<stu[i].reality<<endl;
break;
}
}
}
}
二刷:
#include <iostream>
#include <cstdio>
#include <map>
using namespace std;
int main(){
map<int,string> mp1;
map<int,int> mp2;
int N;
cin>>N;
for(int i=0;i<N;i++){
string str;
int tmp1,tmp2;
cin>>str>>tmp1>>tmp2;
mp1[tmp1]=str;
mp2[tmp1]=tmp2;
}
int M;
cin>>M;
for(int i=0;i<M;i++){
int tmp;
cin>>tmp;
cout<<mp1[tmp]<<" "<<mp2[tmp]<<endl;
}
}