PAT A 1022. Digital Library (30)【结构体排序检索】
https://www.patest.cn/contests/pat-a-practise/1022
直接模拟,
输入,按id排序,检索
#include <iostream>
#include <string>
#include <algorithm>
using namespace std; struct book //图书结构
{
string id;
string title;
string author;
int k; //关键词数量
string key[5];
string pub;
string year;
}; bool cm(const book &b1,const book &b2); //根据id排序 int main()
{
int n,m,i,j,k;
string temp_s;
book temp_b,*bks;
cin>>n;
bks=new book [n];
cin.get(); //字符串输入过滤回车与空格
for(i=0;i<n;i++) //输入书的信息
{
getline(cin,bks[i].id);
getline(cin,bks[i].title);
getline(cin,bks[i].author);
getline(cin,temp_s);
for(j=0,k=0;j<temp_s.size();j++)
{
if(temp_s[j]!=' ')
bks[i].key[k]+=temp_s[j];
else
k++;
}
bks[i].k=k+1;
getline(cin,bks[i].pub);
getline(cin,bks[i].year);
}
sort(bks,bks+n,cm); //根据id排序 cin>>m;
int cl;
int flag; //标志是否有找到符合条件的书
for(i=0;i<m;i++)
{
cin>>cl;
cin.get(); //跳过":"
cin.get(); //跳过" "
flag=0;
getline(cin,temp_s);
cout<<cl<<": "<<temp_s<<endl;
for(j=0;j<n;j++)
{
switch(cl)
{
case 1:if(bks[j].title==temp_s)
{
cout<<bks[j].id<<endl;
flag=1;
}
break;
case 2:if(bks[j].author==temp_s)
{
cout<<bks[j].id<<endl;
flag=1;
}
break;
case 3:for(k=0;k<bks[j].k;k++)
if(bks[j].key[k]==temp_s)
{
cout<<bks[j].id<<endl;
flag=1;
}
break;
case 4:if(bks[j].pub==temp_s)
{
cout<<bks[j].id<<endl;
flag=1;
}
break;
case 5:if(bks[j].year==temp_s)
{
cout<<bks[j].id<<endl;
flag=1;
}
break;
}
}
if(flag==0)
cout<<"Not Found\n";
} return 0;
} bool cm(const book &b1,const book &b2)
{
return b1.id<b2.id;
}
PAT A 1022. Digital Library (30)【结构体排序检索】的更多相关文章
- pat 甲级 1022. Digital Library (30)
1022. Digital Library (30) 时间限制 1000 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue A Di ...
- PAT 甲级 1022 Digital Library (30 分)(字符串读入getline,istringstream,测试点2时间坑点)
1022 Digital Library (30 分) A Digital Library contains millions of books, stored according to thei ...
- PAT Advanced 1022 Digital Library (30 分)
A Digital Library contains millions of books, stored according to their titles, authors, key words o ...
- 1022 Digital Library (30 分)
1022 Digital Library (30 分) A Digital Library contains millions of books, stored according to thei ...
- 1022. Digital Library (30)
A Digital Library contains millions of books, stored according to their titles, authors, key words o ...
- 1022. Digital Library (30) -map -字符串处理
题目如下: A Digital Library contains millions of books, stored according to their titles, authors, key w ...
- PAT 甲级 1022 Digital Library
https://pintia.cn/problem-sets/994805342720868352/problems/994805480801550336 A Digital Library cont ...
- 1022 Digital Library (30)(30 point(s))
problem A Digital Library contains millions of books, stored according to their titles, authors, key ...
- 1022 Digital Library (30)(30 分)
A Digital Library contains millions of books, stored according to their titles, authors, key words o ...
随机推荐
- ResourceHacker(4.5.30)单文件绿色汉化版
经常编译软件的人,肯定会使用一些编译和反编译的工具,ResourceHacker作为一款资源编译工具,非常的小巧好用,ResourceHacker没有任何广告,支持打开.exe..dll..scr.. ...
- mui消息框alert,confirm,prompt,toast
<script type="text/javascript" charset="utf-8"> //mui初始化 mui.init({ swipeB ...
- bzoj 2648 KD-tree
稍微看了一下KD-tree的讲义,大概明白了它的原理,但是实现不出来... 所以无耻的抄了一下黄学长的... #include<iostream> #include<cstdio&g ...
- 下载imagenet2012数据集
摸索了一下,imagenet2012下载,跟大家分享一下 用迅雷会员加速都可以下载,有的用百度云也可以离线下载 http://www.image-net.org/challenges/LSVRC/20 ...
- Javascript知识点记录(二)
Javascript入门易,精通难,基本上是共识的一个观点.在这个篇幅里,主要对一些难点进行记录. 鸭子类型 Javascript属于动态类型语言的一种.对变量类型的宽容,给了很大的灵活性.由于无需类 ...
- 介绍编译的less的两种IDE工具
介绍编译的less的两种IDE工具 现在css预编译越来越普及了,著名的有less.sass.stylus等等等等.功能上基本上都是大同小异.这些个玩意儿主要表达的意思就是:"像编程一样的编 ...
- 将DataTable生成树json
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { ListMenu(); } } protected ...
- JQuery常用代码汇总
获取<input />的value $("#id").val( ); 标签间的html $("#id").html('<tr><t ...
- 创建maven工程时总是带有后缀名Maven Webapp解决办法
做项目时突然遇到了一个新问题,从前没有的,今天不知怎么了突然有了这个问题,maven创建web项目时多出了后缀名maven webapp ,很碍眼,而且访问路径还得删了,这个后缀名才可访问,所以找了答 ...
- idea之internal java compiler error
启动错误:Error:java: Compilation failed: internal java compiler error 解决:将圈选地方改为对应的jdk版本即可