新浪微博可以在发言中嵌入“话题”,即将发言中的话题文字写在一对“#”之间,就可以生成话题链接,点击链接可以看到有多少人在跟自己讨论相同或者相似的话题。新浪微博还会随时更新热门话题列表,并将最热门的话题放在醒目的位置推荐大家关注。

本题目要求实现一个简化的热门话题推荐功能,从大量英文(因为中文分词处理比较麻烦)微博中解析出话题,找出被最多条微博提到的话题。

MAP瞎暴

#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
#include <string>
#include <map>
using namespace std;
map<string, int> vis;
map<string, int> cnt;
map<string, int>::iterator it;
bool judge(char c) {if (('A' <= c && c <= 'Z') || ('a' <= c && c <= 'z') || '0' <= c && c <= '9' || c == ' ') return true;return false;
}
int main() {int n; scanf("%d", &n); getchar();char str[1000];string s;for (int i = 1; i <= n; i++) {gets(str);bool flag = false;vis.clear();for (int i = 0; str[i]; i++) {if (str[i] == '#' && flag == false) {s.clear(); flag = true;}else if (str[i] != '#' && flag == true) {if (!judge(str[i])) str[i] = ' ';if ('A' <= str[i] && str[i] <= 'Z') str[i] += 32;int len = s.size();if (len > 0 && str[i] == ' ' && s[len - 1] == ' ') continue;s.push_back(str[i]);}else if (str[i] == '#' && flag == true) {string ss;if (s[0] == ' ') for (int i = 1; i < s.size(); i++) ss.push_back(s[i]);else if (s[s.size() - 1] == ' ') for (int i = 0; i < s.size() - 1; i++) ss.push_back(s[i]);else ss = s;//cout << ss << endl;if (!vis[ss]) {vis[ss] = 1;cnt[ss]++;}flag = false;}}}int num = 0;int res = 0;string ans;for (it = cnt.begin(); it != cnt.end(); it++) {string x = it->first; int y = it->second;if (y > res) {num = 0;res = y;ans = x;}else if (y == res) num++;}ans[0] -= 32;cout << ans << endl << res << endl;if (num) cout << "And " << num << " more ..." << endl;
}

PTA 7-18 新浪微博热门话题相关推荐

  1. 数据结构PTA 进阶实验5-3.2 新浪微博热门话题

    进阶实验5-3.2 新浪微博热门话题 题目 解法 题目 新浪微博可以在发言中嵌入"话题",即将发言中的话题文字写在一对"#"之间,就可以生成话题链接,点击链接可 ...

  2. 数据结构PTA习题:进阶实验5-3.2 新浪微博热门话题 (30分)

    进阶实验5-3.2 新浪微博热门话题 (30分) 新浪微博可以在发言中嵌入"话题",即将发言中的话题文字写在一对"#"之间,就可以生成话题链接,点击链接可以看到 ...

  3. 5-46 新浪微博热门话题 (30分)

    5-46 新浪微博热门话题 (30分) 新浪微博可以在发言中嵌入"话题",即将发言中的话题文字写在一对"#"之间,就可以生成话题链接,点击链接可以看到有多少人在 ...

  4. 7-46 新浪微博热门话题(字符串)

    题目链接:7-46 新浪微博热门话题 考查知识:字符串 题意描述: 给定n条微博,每条微博里有若干话题,试统计被最多条微博提到的话题. 思路简析: 首先对#号位置进行记录,然后用a.substr(开始 ...

  5. PAT结构与算法7-46 新浪微博热门话题 (50行精简 测试点分析)

    7-46 新浪微博热门话题 (30 分) 新浪微博可以在发言中嵌入"话题",即将发言中的话题文字写在一对"#"之间,就可以生成话题链接,点击链接可以看到有多少人 ...

  6. 7-46 新浪微博热门话题 (30 分)(思路+详解+set + map)pta逐个点过的 来呀兄弟们

    一 :题目 新浪微博可以在发言中嵌入"话题",即将发言中的话题文字写在一对"#"之间,就可以生成话题链接,点击链接可以看到有多少人在跟自己讨论相同或者相似的话题 ...

  7. PTA新浪微博热门话题(题面毒瘤)

    这道题的题目描述非常容易让人误解 测试点1容易过掉 一般没有问题 测试点2会出现k等于0的情况 这个时候最后一行是不输出的(题目没有写清楚) 测试点3容易出现PE 实际上是中间的处理过程存在问题 这里 ...

  8. 7-46 新浪微博热门话题

    ➳ENTRY 新浪微博可以在发言中嵌入"话题",即将发言中的话题文字写在一对"#"之间,就可以生成话题链接,点击链接可以看到有多少人在跟自己讨论相同或者相似的话 ...

  9. python爬取新浪微博热门话题保存到excel等文件

    第一步 在网页上登录新浪微博,获取登录cookie 先把它复制好先,进行第二步 第二步 废话不多说,直接上代码,把刚刚复制好的值,赋给co变量 # -*- coding: utf-8 -*- &quo ...

  10. 7-46 新浪微博热门话题 (30分)--map

    1 #include<iostream> 2 #include <map> 3 #include <string> 4 #include <cstring&g ...

最新文章

  1. PCL:点云特征描述子3D_object_recognition_(descriptors)
  2. 归档 OmniFocus 中已完成的任务到 印象笔记 Evernote
  3. 最长公共子序列LCS[C++题解]
  4. 在vs2012下编译出现Msvcp120d.dll 丢失的问题
  5. velocityjs 动画库 比jquery默认的animate强
  6. idea 运行单个main方法_IntelliJ IDEA 运行你的第一个Java应用程序 idea运行main方法
  7. c++常用知识点,易错点,面试常问点
  8. LeetCode 1854. 人口最多的年份(差分)
  9. Xcode工程添加第三方文件的详细分析 Create folder references for any added folders
  10. Unity3d 周分享(11期 2019.2.16)
  11. 使用Java完成Socket文件传输
  12. 红外遥控器-VS1838B/HS0038红外接收方案(包含原理图+PCB+BOM表+程序)
  13. 如何下载Django 离线文档?
  14. 阿里云域名绑定IP手把手教学
  15. Digispark(ATTINY85) 微型开发板驱动安装与开发环境配置教程
  16. vue 修改模板{{}}标签_Vue模板语法
  17. EDK2 Build Flow
  18. 8个可以免费下载3D模型的网站,快收藏起来吧~
  19. 2020年美国大学计算机科学专业排名,美国大学计算机排名2020年最新排名
  20. android smallestWidth 限定符屏幕适配方案dimens.xml

热门文章

  1. 蒙氏素材1-1000珠链标签蒙特梭利教具
  2. 云南人,你的家乡在哪里?
  3. android 转盘菜单,Android实现可点击的幸运大转盘
  4. 2018/7/18 HDU 5294 Tricks Device 最短路建图+最小割 训练日记2
  5. 老王利用这个方法引流3个满微信号,半年变现几十万,你学会了你也能做到
  6. Quartus II cyclone 系列fpga程序下载到flash中
  7. 火线精英正在维护服务器吗,火线精英1月20日23:00更新维护公告
  8. 硬盘文件系统系列专题之二 NTFS
  9. 网站部署证书 百度浏览器仍提示不安全网站怎么办
  10. Android Intent 传递数据大小限制