题目链接:点击打开链接

题目大意:略。

解题思路:STL 大杂烩 + 字符串处理。

0、不支持 gets(),直接上 getline()。
1、段错误:可能是有些话题中没有出现“#”的情况。
2、对话题字符串进行处理:所有大写英文字母换成小写字母,除了英文字母和数字,其它字符换成空格(同分词的意思),多个连续空格合并成一个(虽然我这没有处理也照样AC),话题字符串首位和末位也不能有空格。

AC 代码

#include<bits/stdc++.h>
#include<cmath>#define mem(a,b) memset(a,b,sizeof a);
#define INF 0x3f3f3f3fusing namespace std;typedef long long ll;
typedef pair<string,int> psi;set<string> st; // 解决每一行重复给 ump 添加的问题
unordered_map<string,int> ump;int cmp(psi p1,psi p2)
{if(p1.second==p2.second) return p1.first<p2.first;return p1.second>p2.second;
}int main()
{string s;char ts[150];int n;while(~scanf("%d",&n)){getchar();ump.clear();for(int i=0;i<n;i++){st.clear();getline(cin,s);char c;int len=s.length(),jl=0,k=0,blank=1;while(jl<len && s[jl]!='#') jl++;for(int j=jl+1;j<len;j++){c=s[j];if(c=='#'){// 首位空格处理int l=0,r=k-1;while(ts[l]==' ') l++;while(ts[r]==' ') r--;strncpy(ts,ts+l,r-l+1);ts[r-l+1]=0;k=0; // 开始新的#...#话题计数if(st.insert(ts).second)ump[ts]++;jl=j+1;while(jl<len && s[jl]!='#') jl++;j=jl; // 不用加 1,因为马上就 j++}// 大写转小写、除英文/数字以外其他字符转空格、多个空格合并一个空格处理if(isupper(c)) ts[k++]=tolower(c), blank=0;else if(islower(c)||isdigit(c)) ts[k++]=c, blank=0;else{if(blank==0)ts[k++]=' ',blank=1;}}//            for(unordered_map<string,int>::iterator it=ump.begin();it!=ump.end();it++)
//            {
//                printf("%s == %d\n",it->first.c_str(),it->second);
//            }
//            puts("--------------------");}vector<psi> vec(ump.begin(),ump.end());sort(vec.begin(),vec.end(),cmp);vec[0].first[0]=toupper(vec[0].first[0]);printf("%s\n",vec[0].first.c_str());int jde=vec[0].second,cnt=0;printf("%d\n",jde);for(int i=1;i<vec.size();i++)if(vec[i].second==jde) cnt++;else break;if(cnt>0) printf("And %d more ...\n",cnt);}return 0;
}/*
5
asdsafsfdsfsdfs dgdfg
Test #Ab#
Test #b#
#more than## a...1+@@b#
# a+1@     @b#
*/

数据结构与算法题目集(中文) - 7-46 新浪微博热门话题(30 分)相关推荐

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

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

  2. PTA 数据结构与算法题目集(中文)

    一:数据结构与算法题目(中文版) 7-2 一元多项式的乘法与加法运算 (20 分) 7-3 树的同构 (25 分) 7-4 是否同一棵二叉搜索树 (25 分) 7-6 列出连通集 (25 分)(详解) ...

  3. PTA数据结构与算法题目集6-4 6-3 6-8

    PTA数据结构与算法题目集(中文) 6-4 链式表的按序号查找 ElementType FindKth( List L, int K ){int index = 0;while(L){++index; ...

  4. PTA数据结构与算法题目集 6-9 二叉树的遍历

    PTA数据结构与算法题目集(中文) 6-9 二叉树的遍历 void InorderTraversal( BinTree BT ){if(BT==NULL)return;if(BT->Left){ ...

  5. 数据结构与算法题目集7-32——哥尼斯堡的“七桥问题”

    我的数据结构与算法题目集代码仓:https://github.com/617076674/Data-structure-and-algorithm-topic-set 原题链接:https://pin ...

  6. 【PAT数据结构与算法题目集】 旅游规划(单源最短路径,长度+路径查找)

    [PAT数据结构与算法题目集] 旅游规划(单源最短路径,长度+路径查找) 题目 有了一张自驾旅游路线图,你会知道城市间的高速公路长度.以及该公路要收取的过路费.现在需要你写一个程序,帮助前来咨询的游客 ...

  7. 数据结构与算法题目集PTA

    数据结构与算法题目集PTA 6-1 单链表逆转 6-2 顺序表操作集 6-3 求链式表的表长 6-4 链式表的按序号查找 6-5 链式表操作集 6-6 带头结点的链式表操作集 6-7 在一个数组中实现 ...

  8. 浙大PTA数据结构与算法题目集(中文)题解集复习用

    文章目录 7-1 最大子列和问题 (20分)(dp或贪心) 7-2 一元多项式的乘法与加法运算 (20分) 7-3 树的同构 (25分) 7-4 是否同一棵二叉搜索树 (25分) 7-5 堆中的路径 ...

  9. PTA 数据结构与算法题目集(中文) 7-10 公路村村通 (30分) 最小生成树(kruskal算法)

    我的GIS/CS学习笔记:https://github.com/yunwei37/ZJU-CS-GIS-ClassNotes <一个浙江大学本科生的计算机.地理信息科学知识库 > 还有不少 ...

  10. PTA数据结构与算法题目集(中文)7-25

    题意:找出M个俱乐部中最大朋友圈数量,朋友的朋友也朋友,所以可以采用并查集写此算法. 开始自己把题目理解错了,最后看了大神的写法终于明白了. #include <iostream> #in ...

最新文章

  1. 基于intellij和meavn的整合开发struts2框架的web程序
  2. Elasticsearch-05Elasticsearch之查询与过滤
  3. 手把手带你玩转LiteOS Ping组件
  4. Python 数据结构与算法——拓扑排序
  5. GO语言学习之路18
  6. Effective C++: lambda表达式与闭包.
  7. 树的最长路径详解(C++)
  8. 3D图形学矩阵完全解析傻瓜版
  9. java ee 酒店管理系统,基于jsp的小型酒店管理系统-JavaEE实现小型酒店管理系统 - java项目源码...
  10. APP内嵌h5页面如何分享到微信?
  11. 阿里java类注释模板_向IDE导入阿里编码规约格式化模板和注释模板
  12. 惜败!国足2-3不敌沙特,输球原因有哪些?
  13. PyTorch搭建LSTM实现多变量时间序列预测(负荷预测)
  14. 测试电池耗电快的软件,电池快速耗电急救软件
  15. 基于达梦V8使用dexpdp和dimpdp进行逻辑备份和恢复的使用
  16. Synology群晖 DS920 +,DS420 +,DS720 +,DS220 + NAS横向对比 群晖20plus系列怎么选
  17. 一个机器人位于m x n网格的左上角达到网格的右下角,有多少条不同的路径?
  18. 三星坠落:最糟的日子还没到来
  19. 第五章 采用SVM和神经网络的车牌识别
  20. 【Verilog基础】用与非门、或非门构成或门、与门、非门

热门文章

  1. 浅谈电子商务的数据分析
  2. 开课吧python小课学了有用吗-案例拆解:开课吧Python体验课
  3. 基于Python的江苏大学校园网暴力破解
  4. 如果今天是星期三,后天就是星期五;如果今天是星期六,后天就是星期一。我们用数字1到7对应星期一到星期日。给定某一天,请你输出那天的“后天”是星期几。
  5. 如何手机网络连接电脑
  6. Java之格林威治时间,字符串格式时间
  7. 如何玩转融资融券盈利?
  8. 群晖NAS同步阿里云盘,亲妈级保姆教程,2022年8月4日亲测有效
  9. 希尔薇android+游戏,LOL战争女神希维尔详细攻略 飘逸的ADC
  10. django中Models常用的字段及属性介绍