华农oj Problem B: Averyboy找密码【STL】
Problem B: Averyboy找密码
Time Limit: 1 Sec Memory Limit: 128 MB
Submit: 83 Solved: 29
[Submit][Status][Web Board]
Description
Averyboy获得了一个串只由大小写字母组成的密码,他现在要想办法解开密码的key,这个密码的key就是其中每个字母出现的次数的中位数。他现在重金求key,你能帮助他吗?
Input
第一行一个数字T代表测试的组数。(T<=10)
对于每组测试一行只由大小写字母组成字符串s(0<|s|<=2000)
Output
对于每组数据输出一个数字代表字符串中每个字母出现的次数的中位数,每个数字占一行。(小数点后保留一位)
Sample Input
4
Averyboyishandsome
hehee
zuomengba
abbccc
Sample Output
1.0
2.5
1.0
2.0
HINT
第4组样例中,其中a出现了1次,b出现了2次,c出现了3次,中位数是2
【分析】:注意这道题对大小写敏感,大小写是不同的。所以hash好像不行,要用map。
#include <functional>
#include <algorithm>
#include <iostream>
#include <fstream>
#include <cstring>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <queue>
#include <stack>
#include <map>
#include <bitset>
#include <set>
#include <vector>
using namespace std;
const double pi = acos(-1.0);
const int inf = 0x3f3f3f3f;
const double eps = 1e-15;
typedef long long ll;
typedef pair <int, int> PLL;
int a[10005];
vector<int> v;
int main()
{
int t;
cin>>t;
while(t--)
{
map<char,int> mp;
mp.clear();
v.clear();
memset(a,0,sizeof(a));
int cnt=0;
string s;
cin>>s;
for(int i=0;i<s.size();i++)
{
mp[s[i]]++;
}
for(char i='a';i<='z';i++)
{
if(mp[i]!=0)
v.push_back(mp[i]);
}
for(char i='A';i<='Z';i++)
{
if(mp[i]!=0)
v.push_back(mp[i]);
}
sort(v.begin(),v.end());
int n = v.size();
//cout<<n<<endl;
if(n&1==1){
printf("%.1f\n", v[n>>1]*1.0);
}
else{
printf("%.1f\n", (v[(n>>1)-1] + v[n>>1])/2.0 );
}
}
}
华农oj Problem B: Averyboy找密码【STL】的更多相关文章
- 华农oj Problem K: 负2进制【有技巧构造/待补】
Problem K: 负2进制 Time Limit: 2 Sec Memory Limit: 128 MB Submit: 51 Solved: 6 [Submit][Status][Web Boa ...
- 华农oj Problem L: CreatorX背英语【STL】
Problem L: CreatorX背英语 Time Limit: 1 Sec Memory Limit: 64 MB Submit: 53 Solved: 36 [Submit][Status][ ...
- 华农oj Problem J: 幻化【贪心/抽屉原理】
Problem J: 幻化 Time Limit: 2 Sec Memory Limit: 128 MB Submit: 18 Solved: 3 [Submit][Status][Web Board ...
- 华农oj 2192: hzk又在打人【CRT合并/待补】
2192: hzk又在打人 Time Limit: 12 Sec Memory Limit: 512 MB Submit: 52 Solved: 1 [Submit][Status][Web Boar ...
- 华农js抢课神器
又到了华农选课的时候,服务器估计就受不了,每天奔溃几次,这次选课贪心了点,竟然选了5门,好吧,我承认我只中了1门,什么??刚刚换课给同学马上就被人抢了?我来告诉你原因吧,最近发现一位大神写了一份js脚 ...
- HDU 4910 Problem about GCD 找规律+大素数判断+分解因子
Problem about GCD Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others ...
- [Swust OJ 179]--火柴棍(找规律)
题目链接:http://acm.swust.edu.cn/problem/0179/ Time limit(ms): 1000 Memory limit(kb): 65535 Descriptio ...
- java实现邮箱找密码
SMTP,POP3,IMAP POP3 POP3是Post Office Protocol 3的简称,即邮局协议的第3个版本,它规定怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的电 ...
- 山科SDUST OJ Problem J :连分数
Problem J: 连分数 Time Limit: 1 Sec Memory Limit: 64 MBSubmit: 2723 Solved: 801[Submit][Status][Web B ...
随机推荐
- CentOS-6.3-minimal安装gnome桌面环境(转载)
最近,想学着搞搞linux,从入门安装开始,先装centos6.3-minimal,发现是windowser最不习惯的命令界面,先升级桌面,教程如下. 1.添加一个普通用户,并设置密码useradd ...
- 《Cracking the Coding Interview》——第7章:数学和概率论——题目4
2014-03-20 02:16 题目:只用加法和赋值,实现减法.乘法.除法. 解法:我只实现了整数范围内的.减法就是加上相反数.乘法就是连着加上很多个.除法就是减到不能减为止,数数总共减了多少个. ...
- .Net导出Word和Excel
using System; using System.Collections.Generic; using System.Linq; using System.Web; public class Ex ...
- web自动化测试,定位不到元素的原因及解决方案(持续更新中2018年9月29日)
主要讲自己在实战中遇到的坑: 1.动态id定位不到元素 分析原因:每次打开页面,ID都会变化.用ID去找元素,每次刷新页面ID都会发生变化. 解决方案:推荐使用xpath的相对路径方法或者cssSel ...
- JMeter学习笔记(十) 计数器
前面写了导出文件接口的测试,对于导出文件的文件名称,为了不重复(即不覆盖之前的文件),可以添加一个计数器来设置不同的index,另外也可以借助函数助手. 下面是我使用到的关于计数器的简单应用,其他的自 ...
- Oracle 学习----游标(使用无参光标cursor)
表: ----游标----------------------------- declare cursor tt is select name,sal from temp; vname temp.na ...
- Python全栈工程师(包、模块 的导入)
ParisGabriel 每天坚持手写 一天一篇 决定坚持几年 为了梦想 为了信仰 Python人工智能从入门到精通 $ pip3 install tenso ...
- JavaScript里面的基本函数
1.主要有三类基本函数 <script type="text/javascript"> // 普通函数 function func1(arg){ return true ...
- Linux学习15_CentOS6.5下netcat工具安装教程
1.下载 下载地址:http://sourceforge.net/projects/netcat/files/netcat/0.7.1/ 下载的是netcat-0.7.1.tar.gz版本 2.拷贝 ...
- sqlalchemy presto 时间比较
大数据统计时,需要计算开仓订单减掉经纪商时间差,等于n 小时 或 星期几的订单. presto sql语句如下: select sum(profit) from t_table where open_ ...