//1022. Digital Library (30)
#include "stdafx.h"
//注意split函数的用法,即将一个字符串按照“ ”将其分开。
//算法思想什么的很简单,和其他学生成绩排序的一样,主要就是用stl的sort函数
//最后三个case老通不过,主要是不能够对结果建立一个结构体都保存起来,这样会超内存空间。
//正确做法是:每当输入一个测试用例直接处理进行输出就可以了。
#include <iostream>
#include <vector>
#include <algorithm>
#include <string.h>
using namespace std;
typedef struct Book
{
int id;
char title[85];
char author[85];
//vector<string> KeyWord;
vector<string> keyword;
char Publisher[85];
int year;
}Book;
//vector<Book> book;
Book book[10000];
bool cmp(Book b1, Book b2)
{
if (b1.id < b2.id)
{
return true;
}
return false;
}
//typedef struct Result
//{
// int index;
// char context[85];
// vector<int> id;
//}Result;
//
////vector<Result> res;
//Result res[1000];
int main()
{
int N;
int i;
scanf("%d", &N);
char KeyWords[60];
for (i = 0;i<N;i++)
{
scanf("%d\n", &book[i].id);
gets(book[i].title);
gets(book[i].author);
gets(KeyWords);
//tmps = (tmp.KeyWords);
//处理keywords;
char *p;
p = strtok(KeyWords, " ");
while(p)
{
book[i].keyword.push_back(p);
p = strtok(NULL, " ");
}
gets(book[i].Publisher);
scanf("%d", &book[i].year);
}
sort(book, book+N, cmp);
int M;
int id;
int j, k;
char c[100];
scanf("%d", &M);
for (i = 0;i<M; i++)
{
/*cin >> id;*/
scanf("%d: ", &id);
gets(c);
bool mark = false;
printf("%d: %s\n", id, c);
//Result r;
//r.index = id;
//strcpy( r.context, c);
bool flag = true;
if (id == 1)
{
for (j = 0;j<N;j++)
{
if (strcmp(book[j].title, c) == 0)
{
printf("%07d\n", book[j].id);
flag = false;
}
}
}
else if(id == 2)
{
for (j = 0;j<N;j++)
{
if (strcmp(book[j].author, c) == 0)
{
printf("%07d\n", book[j].id);
flag = false;
}
}
}
else if(id == 3)
{
for (j = 0;j<N;j++)
{
Book tmp = book[j];
for (k = 0; k< (tmp.keyword).size();k++)
{
if (strcmp(book[j].keyword[k].c_str(), c)==0)
{
printf("%07d\n", book[j].id);
flag = false;
break;
}
}
}
}
else if(id == 4)
{
for (j = 0;j<N;j++)
{
if (strcmp(book[j].Publisher, c) == 0)
{
printf("%07d\n", book[j].id);
flag = false;
}
}
}
else if(id == 5)
{
for (j = 0;j<N;j++)
{
if (book[j].year == atoi(c))
{
flag = false;
printf("%07d\n", book[j].id);
}
}
}
if (flag == true)
{
printf("Not Found\n");
}
}
return 0;
}相关推荐
[调参神器]使用VOFA+上位机进行PID调参(附下位机代码)
简单地来说,VOFA+是一个超级串口助手,除了可以实现一般串口助手的串口数据收发,它还可以实现数据绘图(包括直方图、FFT图),控件编辑,图像显示等功能。 如果只是想要用VOFA+来进行数据绘图,直接使用一个波形图控件就行,但是如果想要把VOFA+当作一个长期使用的调参助手,我们最好设置一下控件。VOFA+简洁好用,但是又有点太简洁了,部分体验并不是很好(比如不能调整控件大小,保存文件不太方便等),所以如果学有余力,推荐自己用QT/PyQT写上位机。接下来,我们要将指令中的数据提取出来。
PAT 1022. Digital Library (30)【经典字符串处理,我的漏洞百出,可算AC。。】
1022. Digital Library (30) 时间限制 1000 ms 内存限制 32000 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue A Digital Library contains millions of bo
TPAMI 2025新作LRFormer复现笔记:我的Windows 11 + RTX 4090配置全流程
本文详细记录了在Windows 11系统下使用RTX 4090显卡复现TPAMI 2025顶会论文LRTransformer的完整流程,包括硬件配置、系统优化、Python环境搭建及模型训练中的常见问题解决方案。特别针对Windows平台特有的路径管理、CUDA版本冲突和显存优化等关键技术细节提供了实用指南,帮助开发者高效完成环境搭建和模型训练。
1022. Digital Library (30)
1. 原题: https://www.patest.cn/contests/pat-a-practise/1022 2. 思路: 题意: 模拟信息检索。数据处理题,逻辑上不难理解。 思路: 既然检索关键字,当然会想到用map。 所以利用5个map,键值存储id。 这里键值类型用的stl中的集合,也可以用vector,再进行排序。 而set默认字典序排列。 为了简便,用了set。
PyCharm配置WSL开发环境保姆级教程:从安装Conda到项目依赖一键搞定
本文提供PyCharm配置WSL开发环境的完整教程,涵盖从安装Conda到项目依赖管理的全流程。详细介绍了WSL2环境准备、Conda环境配置、PyCharm远程解释器设置等关键步骤,并包含实用技巧和常见问题解决方案,帮助开发者高效搭建Python开发环境。
codevs 1620 轮船问题 DP 解题报告
某国家被一条河划分为南北两部分,在南岸和北岸总共有N对城市,每一城市在对岸都有唯一的友好城市,任何两个城市都没有相同的友好城市。
pat1022Digital Library (30)
题意分析: (1)给出若干条书籍信息:按照书名、作者、关键字、出版商、出版年份的格式列出;再给出若干条检索记录,这些检索记录是围绕书名、作者、关键字、出版社以及年份,来按顺序列出查询的书的ID,考察的是排序和查找。 (2)将书的信息包装成结构体,在这些结构体当中,比较容易检索的包括书名、作者、出版社、出版年份;而对于关键字来说,由于每本书最多会有5个关键字,书的数目比较大时,如果将关键字向量或
【BigWorld 游戏服务器引擎】Cell 架构设计介绍,及Java实现方案的探索
横向扩展(Scalability):通过动态增减CellApp和BaseApp的数量,可以轻松应对玩家人数的变化。世界可以做得非常大,只需增加更多的 Cell。负载分离(Load Separation):将不同性质的负载分离,避免了单一进程瓶颈。CPU 密集型的实时计算(CellApp)和 I/O 密集型的数据操作(BaseApp)互不影响。高效的视野管理(AOI):每个 Cell 只关心自己区域内和边界上的实体,大大降低了计算复杂度。容错性:某个CellApp。
PAT甲级 - 1022 Digital Library (30 分)
题目链接:PAT甲级 - 1022 Digital Library (30 分) A Digital Library contains millions of books, stored according to their titles, authors, key words of their abstracts, publishers, and published years. Each b...
Polyworks脚本开发学习笔记(一)-脚本开发环境
详细的总结和记录了利用Polyworks进行脚本开发的一些方法和心得
全网最全-DA14531-全球最小-BLE从入门到精通开发教程
本教程主要适用于低功耗产品,DA14531它体积小,非常适用于对体积敏感的设备,如无线可穿戴、传感器、助听器等设备。本文经过作者发大量时间来记录开发项目的调试方法,里面有许多笔者开发心得体会,旨在让读者工程师快速上手,减少摸索时间,提高软件质量。读者对象本文档主要适用以下工程师:嵌入式系统工程师单片机软件工程师IOT固件工程师BLE固件工程师。
PAT 1022 Digital Library (30 分)
1022 Digital Library (30 分) 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 assigne...
基于物联网的门禁与考勤系统(阿里云)_81
本课题设计的基于物联网的门禁与考勤管理系统,结合现代信息技术,利用指纹识别、射频卡、密码输入和远程控制等多种开锁方式,提升门禁系统的安全性和灵活性;同时,通过物联网平台进行数据上传和远程管理,极大提高了管理效率。通过智能化的考勤功能,系统可以实时记录员工的出入情况,并通过云平台进行远程查询和管理,推动门禁与考勤管理的数字化、智能化和高效化。
1022 Digital Library (30 分)-PAT甲级
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 suppose
汉书HE8,好用的汇编代码编写工具
汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大
文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况
主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。
PAT甲级 1022 Digital Library (30分)
1022 Digital Library (30分) 题目链接:PAT A 1022 题目大意:有一数字图书馆,对于每一本书给出如下信息:书的id,书的名字,书的作者,书的关键字,书的出版社以及书的出版年份。要求根据输入的查找信息输出相应书的ID(7位数字)。 思路分析:这道题题意很直观,但是需要用到的知识点比较多。首先根据题目要求可以分析出这道题一定是使用STL中的map去解决,而且由于题...
怀旧版电脑GBC模拟器
再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。
PAT习题解:1022. Digital Library (30)
题目链接:http://www.patest.cn/contests/pat-a-practise/1022 这道题目我没想到什么好办法做,最后参考了闲云阁的文章,用map 和 set 做出来,算是顺便学习了一下 STL 里面 map 和 set 的用法。话说C++的输入输出真是麻烦啊,这题用Python做的话写起来会很简单吧。 #define _CRT_SECURE_NO_WARNING
NTscan扫描工具
ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。
PAT 1022 Digital Library (30)
首先是数据结构,gets的行输入以及scanf会接收末尾空格 strstr(str,substr)寻找str中是否有substr,没有返回null 最后sort一下,控制格式为%07d即可 #include #include #include #include #include using namespace std; const int N=10005; int cnt=0,n,
[C++] PAT 1022 Digital Library (30分)
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 Tes.
PAT A1022 Digital Library (30分)
题目链接:https://pintia.cn/problem-sets/994805342720868352/problems/994805480801550336 题目描述 A Digital Library contains millions of books, stored according to their titles, authors, key words of their abst...
PAT A1022. Digital Library (30)
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 a
PAT 甲级 1022 Digital Library (30分)
原题链接:1022 Digital Library (30分) 题目大意: 一本书,只有一位作者,包含的关键词不超过 5 个。 总共不超过 1000 个不同的关键词,不超过 1000 个不同的出版商。 图书信息介绍完毕后,有一行包含一个整数 M,表示查询次数。 当读者查询某一关键信息时,你应该找到所有与查询相关的书籍,并将它们按 ID 的升序排序输出。 分析: 难点和重点在于:对字符串的读入和处理。 有格式的字符串用 scanf() 比较好 普通无空格字符串用cin 包含空格的字符串用 getline(),
PAT 甲级 1022 Digital Library (30 分)
1022 Digital Library (30 分) 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 assign...
[PAT] 1022 Digital Library (30 分) Java
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 num...
Day47: [PAT甲级] 1022 Digital Library (30分)
Day47: [PAT甲级] 1022 Digital Library (30分) 题源: 来自PAT真题库: https://pintia.cn/problem-sets/994805342720868352/problems/994805480801550336 代码: dirty code凑合看吧 #include<iostream> #include<string>...
PAT A 1022 Digital Library (30分)
PAT A 1022 Digital Library BiBi: 这题简直就是全明星阵容。豪华的6个include。事真多啊。 不过逻辑倒没什么特别复杂的。毕竟就是做个了小数据库的搜索嘛,基本都是有现成STL代码可以实现的。 思路 本来我打算像往常一样用我惯用的结构体存每一本书的信息的……然后看到了题目里标签不超过1000个的保证和没有按ID输出的输出要求,瞬间明白了点什么,掏出了multimap...
4万+



被折叠的 条评论
为什么被折叠?



