河南省第十届ACM 省赛 A 谍报分析
来源:互联网 发布:极乐净土三人动作数据 编辑:程序博客网 时间:2024/05/17 11:07
题目描述
“八一三”淞沪抗战爆发后,*几次准备去上海前线视察和指挥作战。但都因为宁沪之间的铁路和公路遭到了敌军的严密封锁,狂轰滥炸,一直未能成行。
特科组织,其主要任务是保卫的安全,了解和掌握敌方的动向。经过一段时间的监听,谍报组获取了敌方若干份密报,经过分析,发现密文中频繁出现一些单词,情报人员试图从单词出现的次数中,推出敌军的行动计划。
请你编程,快速统计出频率高的前十个单词。
输入
密文是由英语单词(小写字母)组成,有若干段。单词之间由一个或多个空格分开,自然段之后可以用一个“,”或“。”表示结束。整个内容的单词数量不超过10000,不同的单词个数不超过500.
输出
输出占10行,每行一个单词及出现的次数,中间一个空格。要求按频率降序输出,出现次数相同的单词,按字典序输出。
样例输入
shooting is at shanghai station. shooting must
be carried out. shooting shooting.
shanghai station must be surrounded, at least a team of one hundred soldiers to fight. twenty five soldiers shooting in the north, twenty five soldiers shooting in the south, twenty five soldiers shooting in the east, twenty five soldiers shooting in the west.
样例输出
shooting 8
soldiers 5
five 4
in 4
the 4
twenty 4
at 2
be 2
must 2
shanghai 2
解题思路:一个很简单字符串处理,当时比赛时因为考虑多了,输入一直没有处理好做了好久浪费了很多时间,其实只要按照一个字符串输入,然后判断最后一个字符是否是’,’或‘.’就可以了。
#include <iostream>#include <bits/stdc++.h>using namespace std;struct Node//用来记录每个单词及其出现个数{ string str; int num;};bool cmp(Node a,Node b)//定义排序规则{ if(a.num == b.num) return a.str<b.str; return a.num > b.num;}int main(){ string str; map<string,int> ma; while(cin>>str)///控制输入,并统计每个单词出现的次数 { int len = str.length(); if(str[len-1]==','||str[len-1]=='.') str = str.substr(0,len-1); ma[str]++; } map<string,int>::iterator it; int k=0; Node a[10005]; for(it = ma.begin();it!=ma.end();it++)///遍历map容器并将其值赋给结题 { a[k].str = it->first; a[k].num = it->second; k++; } sort(a,a+k,cmp);///排序 for(int i=0;i<10;i++)///输出前10个 cout<<a[i].str<<' '<<a[i].num<<endl; return 0;}
- 河南省第十届ACM 省赛 A 谍报分析
- 第十届ACM省赛-A 谍报分析
- 河南省第十届ACM省赛题目:问题 A: 谍报分析
- 第十届河南省省赛- 问题 A: 谍报分析
- 2017年河南省ACM省赛 Problem A: 谍报分析
- 河南省第十届acm省赛-谍报分析——个人c++解
- 第十届河南省赛 问题 A: 谍报分析(以文本结束)
- A 谍报分析 河南第十届ACM真题 【字符串处理】
- 第十届省赛-A-谍报分析
- 河南省第十届ACM赛题
- haut 1270 谍报分析 河南省第十届省赛题(set加map的综合应用)
- A.谍报分析
- 问题 A: 谍报分析
- 河南省第十届ACM省赛 B 题 情报传递
- 第十届河南省ACM省赛总结
- 河南省第十届acm情报传递
- 河南省第十届ACM比赛题解
- 河南省第十届ACM题解 D 年终奖金
- 文章标题
- codeforces 217A 连通块的个数
- 欢迎使用CSDN-markdown编辑器
- Linux安装tomcat
- 单向链表
- 河南省第十届ACM 省赛 A 谍报分析
- Linux交叉编译环境搭建和内核编译
- EOJ 3246 实验室传染病 线段树
- redisutil spring session 响应创建和摧毁
- java 方法参数-值调用,引用调用问题
- ML算法工程师的三个层次
- centos php7 安装mysqli扩展心得
- SystemInfo类-Unity(转载)
- gson解析泛型数据