#include <iostream>
#include <stdlib.h>
#include <map>
using namespace std;
typedef struct record{
string id;
string name;
string sex;
int age;
void print(){
cout<<id<<" "<<name<<" "<<sex<<" "<<age<<endl;
}
}record;
void func()
{
int n;
while(cin>>n)
{
map<string,record> ma;
map<string,record>::iterator it;
for(int i=0;i<n;i++)
{
string id;
string name;
string sex;
int age;
cin>>id>>name>>sex>>age;
record r;
r.id=id;
r.name=name;
r.sex=sex;
r.age=age;
ma.insert(pair<string,record>(id,r));
}
int m;
cin>>m;
for(int i=0;i<m;i++)
{
string id;
cin>>id;
it=ma.find(id);
if(it!=ma.end())
it->second.print();
else
cout<<"No Answer!"<<endl;
}
}
}
int main(int argc, char *argv[])
{
//printf("Hello, world\n");
func();
return 0;
}
HASH
-
题目描述:
-
输入N个学生的信息,然后进行查询。
-
输入:
-
输入的第一行为N,即学生的个数(N<=1000)
接下来的N行包括N个学生的信息,信息格式如下:01 李江 男 2102 刘唐 男 2303 张军 男 1904 王娜 女 19然后输入一个M(M<=10000),接下来会有M行,代表M次查询,每行输入一个学号,格式如下:02030104
-
输出:
-
输出M行,每行包括一个对应于查询的学生的信息。
如果没有对应的学生信息,则输出“No Answer!”
-
样例输入:
-
4 01 李江 男 21 02 刘唐 男 23 03 张军 男 19 04 王娜 女 19 5 02 03 01 04 03
-
样例输出:
-
02 刘唐 男 23 03 张军 男 19 01 李江 男 21 04 王娜 女 19 03 张军 男 19