题目描述
Time Limit: 1000 ms
Memory Limit: 256 mb输入N个学生的信息,然后进行查询。
输入描述:
输入的第一行为N,即学生的个数(N<=1000) 接下来的N行包括N个学生的信息,信息格式如下: 01 李江 男 21 02 刘唐 男 23 03 张军 男 19 04 王娜 女 19 然后输入一个M(M<=10000),接下来会有M行,代表M次查询,每行输入一个学号,格式如下: 02 03 01 04
输入样例:
4 01 李江 男 21 02 刘唐 男 23 03 张军 男 19 04 王娜 女 19 5 02 03 01 04 03
输出描述:
输出M行,每行包括一个对应于查询的学生的信息。 如果没有对应的学生信息,则输出“No Answer!”
输出样例:
02 刘唐 男 23 03 张军 男 19 01 李江 男 21 04 王娜 女 19 03 张军 男 19
#include<iostream>
#include<string>
#include<map>
using namespace std;
typedef struct{
int age;
string id,name,sex;
}stu;
int main(){
int N,M;
cin>>N;
map<string,stu> T;//使用map将id号与相对应的结构体映射起来
for(int i = 0; i < N; i++){
stu s;
cin>>s.id>>s.name>>s.sex>>s.age;
T[s.id] = s;
}
cin>>M;
while(M > 0){
string id;
cin>>id;
if(T.find(id) != T.end()){//在map中寻找
cout<<T[id].id<<' '<<T[id].name<<' '<<T[id].sex<<' '<<T[id].age<<endl;
}
else cout<<"No Answer!"<<endl;
M--;
}
}
Map,真香