PAT 甲级 1022 Digital Library
程序员文章站
2024-02-17 12:29:34
...
#include <iostream>
#include <map>
#include <set>
#include <string>
using namespace std;
int main()
{
// 读入书本数量
int N; cin >> N; cin.get();
// 用map存储查询信息到书本ID所在集合set的映射关系
// 集合set会自动按递增方式将ID进行排序
map<string, set<string> > Library;
// 读入书本信息
string id, line; // ID应该用字符串
while(N--)
{
getline(cin, id); // 读取ID
getline(cin, line); // 读取书名
Library[line].insert(id);
getline(cin, line); // 读取作者名
Library[line].insert(id);
// 读取关键字
while(1)
{
cin >> line;
Library[line].insert(id);
if(cin.get() == '\n')
break;
}
getline(cin, line); // 读取出版社
Library[line].insert(id);
getline(cin, line); // 读取出版年份
Library[line].insert(id);
}
// 打印查询信息
int M; cin >> M;
while(M--)
{
cin >> line; cout << line << " "; cin.get();
getline(cin, line); cout << line << endl;
if(Library[line].size() == 0)
cout << "Not Found" << endl;
else
for(set<string>::iterator it = Library[line].begin(); it != Library[line].end(); it++)
cout << *it << endl;
}
}
上一篇: php 格式化数字的时候注意数字的范围
推荐阅读
-
PAT 甲级 1022 Digital Library
-
PAT 甲级 1022 Digital Library
-
PAT甲级-1022-Digital Library(map映射+倒排索引)
-
PAT甲级 1022 Digital Library
-
【PAT甲级】1022 Digital Library (30)(map)
-
PAT甲级1022(Digital Library)
-
pat 甲级 1022 Digital Library
-
PAT甲级 1022 Digital Library (30) map映射,set
-
PAT*1022 Werewolf(甲级1148升级版)
-
PAT甲级1022 Digital Library (30分)|C++实现