1022 Digital Library (30 分)
思路有空更新
#include <iostream>
#include <sstream>
#include <algorithm>
#include <vector>
#include <map>
using namespace std;
map<string, vector<string> > m;
int main() {
int n, M, x;
string a, b;
cin >> n;
while(n--){
cin >> a;
getchar();
for(int i = 2; i <= 6; ++i){
getline(cin, b);
if(i == 4){
stringstream input(b);
string word;
while(input >> word)
m[word].push_back(a);
}
else
m[b].push_back(a);
}
}
cin >> M;
while(M--) {
scanf("%d:", &x);
getchar();
getline(cin, a);
cout << x << ": " << a << endl;
if(m[a].size() == 0)
cout << "Not Found" << endl;
else{
sort(m[a].begin(), m[a].end());
for(int i = 0; i < m[a].size(); ++i)
cout << m[a][i] << endl;
}
}
}