7-15 新浪微博热门话题
大体思路是字符串按行输出(这里注意getchar()),每一行用set保存话题(便于去重),然后把每一行出现的话题放入map集合中,因为map我不太会排序,转化一下思路,遍历map,将每一个map对转化成pair存入vector数组,这样就可以排序了,然后输出就可以。不过肯定有写细节需要注意了,比如在向集合里存话题时,将非英文字母非数字的字符全部转化为空格,多个空格合并成一个空格,否则就会格式错误。
#include <bits/stdc++.h>
#define INF 1e10
using namespace std;
typedef long long ll;
map<string,int> ma;
map<string,int>::iterator qq;
set<string> s;
set<string>::iterator it;
vector<pair<string,int> > pa;bool cmp(pair<string,int> a, pair<string,int> b)
{if(a.second == b.second)return a.first<b.first;return a.second > b.second;
}
int main()
{int n;cin>>n;getchar();while(n--){s.clear();int l,l1 = -1,l2 = -1;string buf;getline(cin,buf);l = buf.size();char p[150];for(int i = 0;i < l;i++){//取出话题if(buf[i] == '#' && l1 == -1){l1 = i;}else if(buf[i] == '#' && l1 != -1)l2 = i;if(l2 != -1){memset(p,0,sizeof(p));//printf("%dgg\t%dgg\n",l1,l2);int num = 0;for(int j = l1 + 1;j < l2;j++){//cout<<buf[j];if(isalpha(buf[j]) || isdigit(buf[j])){//cout<<buf[j];if(isupper(buf[j])){buf[j] = (char)('a' - 'A' + (int)buf[j]);//cout<<buf[j];}//这里注意因为最后输出用一个空格分隔原文中的单词,所以多个空格合并成一个空格if(buf[j-1] == ' ') p[num++] = ' ';p[num++] = buf[j];}else buf[j] = ' ';}//cout<<p<<endl;l1 = l2 = -1;s.insert(p);}}for(it = s.begin();it != s.end();it++){string q = *it;//cout<<q<<endl;ma[q]++;}}for(qq = ma.begin();qq != ma.end();qq++){pair<string,int> r;r.first = qq->first;r.second = qq->second;pa.push_back(r);}sort(pa.begin(),pa.end(),cmp);int num = pa[0].second;string x = pa[0].first;x[0] = (char)(x[0] + 'A' - 'a');int oth = 0;for(int i = 1;i < pa.size();i++){if(pa[i].second == num)oth++;}cout<<x<<endl;printf("%d\n",num);if(oth){printf("And %d more ...\n",oth);}return 0;
}
7-15 新浪微博热门话题相关推荐
- 5-46 新浪微博热门话题 (30分)
5-46 新浪微博热门话题 (30分) 新浪微博可以在发言中嵌入"话题",即将发言中的话题文字写在一对"#"之间,就可以生成话题链接,点击链接可以看到有多少人在 ...
- 数据结构PTA 进阶实验5-3.2 新浪微博热门话题
进阶实验5-3.2 新浪微博热门话题 题目 解法 题目 新浪微博可以在发言中嵌入"话题",即将发言中的话题文字写在一对"#"之间,就可以生成话题链接,点击链接可 ...
- 数据结构PTA习题:进阶实验5-3.2 新浪微博热门话题 (30分)
进阶实验5-3.2 新浪微博热门话题 (30分) 新浪微博可以在发言中嵌入"话题",即将发言中的话题文字写在一对"#"之间,就可以生成话题链接,点击链接可以看到 ...
- 7-46 新浪微博热门话题(字符串)
题目链接:7-46 新浪微博热门话题 考查知识:字符串 题意描述: 给定n条微博,每条微博里有若干话题,试统计被最多条微博提到的话题. 思路简析: 首先对#号位置进行记录,然后用a.substr(开始 ...
- PAT结构与算法7-46 新浪微博热门话题 (50行精简 测试点分析)
7-46 新浪微博热门话题 (30 分) 新浪微博可以在发言中嵌入"话题",即将发言中的话题文字写在一对"#"之间,就可以生成话题链接,点击链接可以看到有多少人 ...
- 7-46 新浪微博热门话题 (30 分)(思路+详解+set + map)pta逐个点过的 来呀兄弟们
一 :题目 新浪微博可以在发言中嵌入"话题",即将发言中的话题文字写在一对"#"之间,就可以生成话题链接,点击链接可以看到有多少人在跟自己讨论相同或者相似的话题 ...
- 7-46 新浪微博热门话题
➳ENTRY 新浪微博可以在发言中嵌入"话题",即将发言中的话题文字写在一对"#"之间,就可以生成话题链接,点击链接可以看到有多少人在跟自己讨论相同或者相似的话 ...
- python爬取新浪微博热门话题保存到excel等文件
第一步 在网页上登录新浪微博,获取登录cookie 先把它复制好先,进行第二步 第二步 废话不多说,直接上代码,把刚刚复制好的值,赋给co变量 # -*- coding: utf-8 -*- &quo ...
- 7-46 新浪微博热门话题 (30分)--map
1 #include<iostream> 2 #include <map> 3 #include <string> 4 #include <cstring&g ...
- PTA新浪微博热门话题(题面毒瘤)
这道题的题目描述非常容易让人误解 测试点1容易过掉 一般没有问题 测试点2会出现k等于0的情况 这个时候最后一行是不输出的(题目没有写清楚) 测试点3容易出现PE 实际上是中间的处理过程存在问题 这里 ...
最新文章
- 就是这么简单(续)!使用 RestAssuredMockMvc 测试 Spring MVC Controllers(转)
- 不仅仅是虚拟化--Windows 7 SP1 Windows 2008R2 SP1解析
- python 求两条曲线的交点_这几种问法都是考察张角问题,高考数学圆锥曲线的焦点弦张角定理...
- java内部类为什么会持有外部类的引用_java中内部类为什么会持有外部类的引用?...
- lru算法实现 redis_使用数组与双向链表实现一个简单的LRU算法
- Arraylist理解(2)扩容
- 母亲节:微信喊你给母亲充钱 华为帮你教爸妈用手机
- python span镶嵌匹配_python模式匹配,提取指定字段
- 爱数智慧荣获“阿里云2021年度优秀供应商” | 喜讯
- LibSvm使用说明和LibSvm源码解析
- BP神经网络介绍及算法实现
- PSV 2000 3.68降级3.60固化教程
- Pandas的基本操作
- 统一认证 java_java统一身份认证系统
- linux中运行alise,Linux学习笔记
- TensorFlow 核心流程剖析 -- 2 神经网络模型的构建、分割和优化
- WIN10计算机不支持3D游戏怎么办,教您如何在win10系统中启用3D加速?
- 关于@Result注解的说明
- 计算机科学 杂志 撤稿,哈佛教授2篇顶刊遭撤稿:相同样品花样“复用”,伪装成不同实验结果...
- python实现问卷网的自动填写详解
热门文章
- python转义字符\r的使用
- HDU 5294 Tricks Device (最大流+最短路)
- 特斯拉开火,状告5名前员工、小鹏汽车、Zoox身陷漩涡...
- Linux操作系统文件类型有哪几种?
- 重磅!融云推出「百幄」政企数智办公平台
- 算法与数据结构学习资源大搜罗——良心推荐
- 手机上怎么访问电脑html页面,手机UC浏览器怎么访问电脑版 访问电脑页面方法...
- 蒲丰投针实验原理_神奇的圆周率——布丰投针实验
- 噪音达到多少分贝就算是扰民
- c语言一个整数犯二的程度编程,团体程序设计天梯赛-练习集 L1-017 到底有多二...