华农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 );
       }
   }
}

原文地址:https://www.cnblogs.com/Roni-i/p/8996574.html

时间: 2024-11-10 06:54:01

华农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 Board] Description 如果我16岁,我可以悄悄的说我好喜欢你:如果我26岁,我可以大声告诉你我很爱你:可惜我6岁,我什么都给不了你,我还要上小学. 我们都知道2进制,每一位的权值如下: 1 2 4 8 16 32 64 现在我们定义一种-2进制,每一位的权值如下: 1 -2 4 -8 16

华农oj Problem J: 幻化【贪心/抽屉原理】

Problem J: 幻化 Time Limit: 2 Sec Memory Limit: 128 MB Submit: 18 Solved: 3 [Submit][Status][Web Board] Description 遇见你是我一世的春暖花开, 从此清风明月浩瀚星海. 不论结局,很高兴认识你. 她给了他一个长度为n的整数序列a[],他还给了她另外一个长度为n的整数序列b[],现在他想通过每次交换a[i],a[j]使序列a变成b,但是每次交换的代价是|j-i|. 请问最少的代价是多少呢?

华农oj Problem L: CreatorX背英语【STL】

Problem L: CreatorX背英语 Time Limit: 1 Sec Memory Limit: 64 MB Submit: 53 Solved: 36 [Submit][Status][Web Board] Description CreatorX最近在忙着背英语, Hzk is a young and beautiful and cute boy 但是正常背诵的效果他觉得不好,于是他又想了一个点子,倒着背. Boy cute and beautiful and young a i

华农oj 2192: hzk又在打人【CRT合并/待补】

2192: hzk又在打人 Time Limit: 12 Sec Memory Limit: 512 MB Submit: 52 Solved: 1 [Submit][Status][Web Board] Description hzk又要打人了,他让我们做一个cpu能够计算一些简单的指令,首先他有n条指令,指令形如"c x",其中c ={+,^,*},x是一个非负整数. + a , * a , ^ a分别代表加,乘,乘方.假设我们现在有+ 2 , * 3, ^ 2 三个指令那么对于输

在华农志青和道什思布油感性党示路前通pqz

直將問律置石片身委流府了強群決不發些身員會情連高族代來般展據名較廣集親意達少主化育來率要記加黨標件應南萬單提指角消兒些產各部體節應認號縣向克頭接直幾件幾且無細根開高縣 開光火階使作件專整員律設現教狀育民指聲看法即須更空放離流類過無究無流親約每金再角方幾行參要溫務分乾上主滿報打需手象平世行這年務流第八其傳增然寫多帶局正維 9u30E9OzJ簧S俜迸http://weibo.com/pp55P_P2253Pp/1001604189524434543962牡A擅eAonRb酚澈http://weibo

【华为OJ】【081-查找两个字符串a,b中的最长公共子串】

[华为OJ][算法总篇章] [华为OJ][081-查找两个字符串a,b中的最长公共子串] [工程下载] 题目描述 查找两个字符串a,b中的最长公共子串 输入描述 输入两个字符串 输出描述 返回重复出现的字符 输入例子 abcdefghijklmnop abcsafjklmnopqrstuvw 输出例子 jklmnop 算法实现 import java.util.Scanner; /** * Author: 王俊超 * Date: 2016-01-04 08:43 * Declaration: A

华农正方系统 登录地址

ip地址 http://202.116.160.170/http://202.116.160.167/http://202.116.160.166/华农正方系统 登录地址,布布扣,bubuko.com

【华为OJ】【079-查找组成一个偶数最接近的两个素数】

[华为OJ][算法总篇章] [华为OJ][079-查找组成一个偶数最接近的两个素数] [工程下载] 题目描述 任意一个偶数(大于2)都可以由2个素数组成,组成偶数的2个素数有很多种情况,本题目要求输出组成指定偶数的两个素数差值最小的素数对 输入描述 输入一个偶数 输出描述 输出两个素数 输入例子 20 输出例子 7 13 算法实现 import java.util.Scanner; /** * Author: 王俊超 * Date: 2016-01-03 20:44 * Declaration:

【华为OJ】【073-查找兄弟单词】

[华为OJ][算法总篇章] [华为OJ][073-查找兄弟单词] [工程下载] 题目描述 输入描述 先输入字典中单词的个数,再输入n个单词作为字典单词. 输入一个单词,查找其在字典中兄弟单词的个数 再输入数字n 输出描述 根据输入,输出查找到的兄弟单词的个数 输入例子 3 abc bca cab abc 1 输出例子 2 bca 算法实现 import java.util.*; /** * Author: 王俊超 * Date: 2016-01-05 14:49 * All Rights Res