当前位置: 首页 > news >正文

1022 Digital Library

1022 Digital Library
分数 30

全屏浏览

切换布局
作者 CHEN, Yue
单位 浙江大学
A Digital Library contains millions of books, stored according to their titles, authors, key words of their abstracts, publishers, and published years. Each book is assigned an unique 7-digit number as its ID. Given any query from a reader, you are supposed to output the resulting books, sorted in increasing order of their ID's.

Input Specification:
Each input file contains one test case. For each case, the first line contains a positive integer N (≤10 4) which is the total number of books. Then N blocks follow, each contains the information of a book in 6 lines:

Line #1: the 7-digit ID number;
Line #2: the book title -- a string of no more than 80 characters;
Line #3: the author -- a string of no more than 80 characters;
Line #4: the key words -- each word is a string of no more than 10 characters without any white space, and the keywords are separated by exactly one space;
Line #5: the publisher -- a string of no more than 80 characters;
Line #6: the published year -- a 4-digit number which is in the range [1000, 3000].
It is assumed that each book belongs to one author only, and contains no more than 5 key words; there are no more than 1000 distinct key words in total; and there are no more than 1000 distinct publishers.

After the book information, there is a line containing a positive integer M (≤1000) which is the number of user's search queries. Then M lines follow, each in one of the formats shown below:

1: a book title
2: name of an author
3: a key word
4: name of a publisher
5: a 4-digit number representing the year
Output Specification:
For each query, first print the original query in a line, then output the resulting book ID's in increasing order, each occupying a line. If no book is found, print Not Found instead.

Sample Input:
3
1111111
The Testing Book
Yue Chen
test code debug sort keywords
ZUCS Print
2011
3333333
Another Testing Book
Yue Chen
test code sort keywords
ZUCS Print2
2012
2222222
The Testing Book
CYLL
keywords debug book
ZUCS Print2
2011
6
1: The Testing Book
2: Yue Chen
3: keywords
4: ZUCS Print
5: 2011
3: blablabla
Sample Output:
1: The Testing Book
1111111
2222222
2: Yue Chen
1111111
3333333
3: keywords
1111111
2222222
3333333
4: ZUCS Print
1111111
5: 2011
1111111
2222222
3: blablabla
Not Found

1.分析

        1.模拟,字典存储序号,取出序号排序输出。

        2.关键字要拆分成单词记录

2.代码

#include<iostream>
#include<string>
#include<map>
#include<vector>
#include<algorithm>
using namespace std;
const int MAX=1e5+10;
struct node{string b[7];
}a[MAX];
int n,k;
map<string,vector<int>> m;
int main(){cin>>n;getchar();for(int i=0;i<n;i++){for(int j=0;j<6;j++){string str;getline(cin,str);a[i].b[j]=str;if(j==3){            //拆分成单词int f=0,e;while(str.find(' ',f)!=string::npos){e=str.find(' ',f);string re=str.substr(f, e - f);m[re].push_back(i);f=e+1;}string re=str.substr(f, e - f);m[re].push_back(i);}else m[a[i].b[j]].push_back(i);}}cin>>k;while(k--){       //输出char ch,s;string str;cin>>ch>>s;cin.get();getline(cin,str);cout<<ch<<": "<<str<<endl;vector<string> v;for(int i=0;i<m[str].size();i++){     //找到idint x=m[str][i];v.push_back(a[x].b[0]);}sort(v.begin(),v.end());      //排序for(int i=0;i<v.size();i++){cout<<v[i]<<endl;}if(m[str].size()==0) cout<<"Not Found"<<endl;}return 0;
}

相关文章:

  • 【ROS2】行为树 BehaviorTree(五):详细学习端口和黑板
  • 项目集管理汇报报告 (范本)
  • 什么时候触发full GC(发生场景)
  • Snipaste免费版安装教程包含下载、安装、使用(附安装包)
  • Tmi-clnet:从影像学、临床和放射学数据融合判断慢性肝病预后的三模态相互作用网络——医学图像论文学习,论文源码下载
  • 远程登录一个Linux系统,如何用命令快速知道该系统属于Linux的哪个发行版,以及该服务器的各种配置参数,运行状态?
  • 块存储、文件存储和对象存储的特点、应用场景及区别
  • load_summarize_chain ,load_qa_chain 是什么
  • MCP服务,阿里云百炼,Cline,mysql-mcp-server,MCP通信原理
  • Kotlin协程之异常处理(launch和async的异常处理机制详解)
  • TinyPro 1.2.0 正式发布:增加综合搜索,解决数据筛选难题,后端单测覆盖率再提升!
  • AOSP14 Launcher3——最近任务TaskViewSimulator详解
  • WPS JS宏编程教程(从基础到进阶)-- 第八部分:字符串技术与WPS结合应用
  • AI应用开发之扣子第一课-夸夸机器人
  • 《Vue3学习手记2》
  • SiC JFET Cascode运行原理
  • 深度学习占用大量内存空间解决办法
  • RVOS-7.实现抢占式多任务
  • 根据关键字搜索日志内容,常用的Linux命令
  • 怎么知道ip是内网还是外网?简单高效判断法
  • 马上评丨发钱奖励结婚,支持婚育就该系统性发力
  • 5月动漫|“爱死机”即将回归,《明末》或是下一个大IP?
  • 三杀皇马剑指四冠,硬扛到底的巴萨,赢球又赢人
  • 阿曼外交大臣:伊美下一轮谈判暂定5月3日举行
  • 建投读书会·东西汇流|全球物品:跨文化交流视域下的明清外销瓷
  • 重新认识中国女性|婚姻,古代传统家庭再生产的根本之道