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

烟台网络科技有限公司seo关键词优化指南

烟台网络科技有限公司,seo关键词优化指南,响水做网站哪家最好,小米开发者模式怎么关闭原题 1022 Digital Library - PAT (Advanced Level) Practice 题目大意 给定一本书的id、书名、作者、(多个)关键词、出版社、出版年份,根据输入的书名、作者、(其中一个)关键词、出版社、出版年份按大小顺序返回id 解题思路 先吐槽一句,题目简单是…

原题

1022 Digital Library - PAT (Advanced Level) Practice

题目大意

给定一本书的id、书名、作者、(多个)关键词、出版社、出版年份,根据输入的书名、作者、(其中一个)关键词、出版社、出版年份按大小顺序返回id

解题思路

先吐槽一句,题目简单是简单,麻烦是真麻烦...

利用哈希表来储存元素,由于可能多本书有相同的关键字,因此用vector<string>来储存答案的id。

另外,对于keywords,我们要额外进行空格分割,再分别将每一个关键词存入哈希表。

代码(c++)
#include <bits/stdc++.h>
#include <map>
#include <vector>
#include <algorithm>using namespace std;const int N = 10010;int n, m;
unordered_map<string, vector<string>> title_m;        // 书名哈希表
unordered_map<string, vector<string>> author_m;       // 作者哈希表
unordered_map<string, vector<string>> key_m;          // 关键词哈希表
unordered_map<string, vector<string>> publisher_m;    // 出版社哈希表
unordered_map<string, vector<string>> year_m;         // 年份哈希表void split(string s, unordered_map<string, vector<string>> &m, string id) {  // 根据空格分割关键词int len = 0;for(int i = 0; i < s.size(); i++) {if(s[i] == ' ') {string str = s.substr(i - len, len);m[str].push_back(id);len = -1;                            // len为-1因为马上下面就要+1了}len++;}string str = s.substr(s.size() - len);m[str].push_back(id);
}bool find_id(const string& search, const unordered_map<string, vector<string>>& m) {auto it = m.find(search); if (it != m.end())                            // 找到,排序输出并返回truevector<string> res = it->second;  sort(res.begin(), res.end());for (string id : res) cout << id << endl;return true;                    }return false;
}int main() {string sn;getline(cin, sn);                                    // 此处用getline读入,防止有其他空格n = atoi(sn.c_str());for(int i = 0; i < n; i++) {string id, title, author, key, publisher, year;getline(cin, id);getline(cin, title);getline(cin, author);getline(cin, key);getline(cin, publisher);getline(cin, year);title_m[title].push_back(id);author_m[author].push_back(id);publisher_m[publisher].push_back(id);split(key, key_m, id);year_m[year].push_back(id);}string sm;getline(cin, sm);m = atoi(sm.c_str());vector<string> ans;for (int i = 0; i < m; i++) {string search_id;getline(cin, search_id);cout << search_id << endl;string search = search_id.substr(3, search_id.size() - 3);  // 注意输入的search是带id的,先去掉if (find_id(search, title_m)) continue;if (find_id(search, author_m)) continue;if (find_id(search, key_m)) continue;if (find_id(search, publisher_m)) continue;if (find_id(search, year_m)) continue;cout << "Not Found" << endl;}
}

http://www.dtcms.com/wzjs/397061.html

相关文章:

  • 商标查询官方网站百度官网认证价格
  • 毕业设计做网站难吗百度导航最新版本下载安装
  • 开发网站需要学什么今日重大新闻
  • 做二手机网站百度广告太多
  • 佛山优化网站互联网推广引流公司
  • 秀山网站建设端午节手抄报获奖sem电子扫描显微镜
  • 京东联盟网站建设电脑版平台交易网
  • 做实验用哪些国外网站广点通
  • 关于WordPress的摘要爱站网seo查询
  • 网站怎么做图片滚动成都短视频代运营
  • 佛山建设网站制作百度快照查询入口
  • 建设银行网站怎么取消短信服务手机网站百度关键词排名查询
  • 网站建设制度都有哪些王通seo赚钱培训
  • 大数据营销系统软件广州seo快速排名
  • 房子已交房 建设局网站查不到世界十大网站排名
  • 源码建站之网站建设谷歌seo推广公司
  • 小企业网站建设的基础知识招工 最新招聘信息
  • wordpress 评论 邮件人教版优化设计电子书
  • 用asp.net做简易网站竞价服务托管公司
  • 温州瓯北做网站系统设置友情链接有什么作用
  • 天津公司做网站郑州百度seo
  • 珠海网站建设小程序国内十大搜索引擎网站
  • 要怎么判断网站是什么cms做的谷歌关键词搜索排名
  • 无锡地区做网站怎么样推广自己的网站
  • wordpress后台换地址长沙seo全网营销
  • ps做网站logo免费行情软件网站下载大全
  • 安庆 做网站搜索技巧
  • 行业网站建设方式有哪些河南整站百度快照优化
  • 做网站备负责人风险大吗注册域名后怎么建网站
  • 如何做点击图片转到其他网站江苏seo哪家好