1 #include<iostream>
 2 #include <map>
 3 #include <string>
 4 #include <cstring>
 5 using namespace std;
 6 map<string, long long int> num;//某话题出现次数
 7 int main()
 8 {
 9     long long int N;
10     cin >> N;
11     cin.get();//吸收回车
12     char ch;
13     char s[150];//临时储存字符串
14     int sp = 0;//sp的指针
15     long long int sum = 0;//还有sum条并列热门话题
16     long long int max = 0;//最热门话题出现次数
17     char hot[150];//存储最热门的话题
18     for (long long int i = 0; i < N; i++)
19     {
20         map<string, bool>flag;//标记字符串是否在本行出现过
21         while ((ch = tolower(cin.get())) != '\n')
22         {
23             if (ch == '#')
24             {
25                 sp = 0;
26                 while ((ch = tolower(cin.get())) != '#')
27                 {
28                     if ((ch >= 'a' && ch <= 'z') || (ch >= '0' && ch <= '9'))
29                     {
30                         s[sp++] = ch;
31                     }
32                     else
33                     {
34                         if (sp != 0 && (s[sp - 1] >= 'a' && s[sp - 1] <= 'z') || (s[sp - 1] >= '0' && s[sp - 1] <= '9'))
35                         {
36                             s[sp++] = ' ';
37                         }
38                     }
39                 }
40                 if (sp != 0 && s[sp - 1] == ' ')s[sp - 1] = '\0';
41                 else s[sp] = '\0';
42                 if (!flag[s])
43                 {
44                     num[s]++;
45                         flag[s] = true;
46                     if (num[s] > max)
47                     {
48                         max = num[s];
49                         sum = 0;
50                         strcpy(hot, s);
51                     }
52                     else if (num[s] == max)
53                     {
54                         sum++;
55                         if (strcmp(s, hot) < 0)
56                             strcpy(hot, s);
57                     }
58                 }
59             }
60         }
61     }
62     hot[0] = toupper(hot[0]);
63     cout << hot << endl << max << endl;
64     if (sum > 0)
65     {
66         cout << "And " << sum << " more ...";
67     }
68     return 0;
69 }

7-46 新浪微博热门话题 (30分)--map相关推荐

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新文章

  1. 快速指南:使用OpenCV预处理神经网络中的面部图像
  2. 为什么servlet-nameaction/servlet-name要这么写
  3. 22. 一个题来探查对 字符串,指针,数组三方面的关联使用方面的概念是否清晰,分析下面三个printf打印什么?...
  4. java ip地址相关操作
  5. SQL Server执行计划那些事儿(3)——书签查找
  6. gsonformat插件_吐血推荐珍藏的IDEA插件
  7. python学习笔记 day20 常用模块(六)
  8. Python文件操作的几个要点与示例
  9. python 卡方检验_【技术】卡方检验及其Python实现
  10. 春眠不觉晓,SQL 知多少?| 原力计划
  11. JavaScript词法作用域和动态作用域
  12. linux下python3源码安装及卸载
  13. 制作一个简单HTML个人网页网页(HTML+CSS)web前端大作业
  14. 测试网络机顶盒的软件,新买的网络机顶盒安装什么软件好 几款热门装机必备软件分享...
  15. 栈——后进先出的增删改查
  16. java的程序的创建快捷方式_关于Swing:如何为Java程序创建快捷方式图标
  17. 程序人生——苏嵌第六天
  18. 【功能上新】Python实现OSM地图数据解析——OSM2Rail
  19. 不借助其他任何软件防止QQ被盗的小技巧
  20. 读《洞穴奇案》——从虐猫到禁食狗肉,自然法真的存在吗?

热门文章

  1. 【调剂】辽宁工业大学2020年研究生招生接收调剂信息公告
  2. 微信小程序云开发之云函数的调用
  3. 媲美5G的Wifi网速、“备战”资产一键领……揭秘双11小二背后的保障力量
  4. C++读取大疆激光雷达LVX数据并显示
  5. window权限 及c++实现 【网摘】
  6. 启动计算机的程序方法单击,7种方法,让你的Windows计算机加速起来!
  7. ORACLE中trim函数、ltrim函数、rtrim函数的使用介绍
  8. 虎牙SRE谈可观测:如何做到比用户和老板更早发现业务异常?
  9. centos7 hostname修改方法
  10. 超频到3200最佳时序_XPG 龙耀 D50 重装铠甲RGB内存 来了超频颗粒、1.95mm加厚散热...