51Nod 1182 完美字符串(字符串处理 贪心 Facebook Hacker Cup选拔)

简介: 1182 完美字符串                             题目来源:                         Facebook Hacker Cup选拔                         基准时间限制:1 秒 空间限制:131072 KB 分值: 5         难度:1级算法题           约翰认为字符串的完美度等于它里面所有字母的完美度之和。
               
            题目来源:                         Facebook Hacker Cup选拔        
               
基准时间限制:1 秒 空间限制:131072 KB 分值: 5        
   
 
   
约翰认为字符串的完美度等于它里面所有字母的完美度之和。每个字母的完美度可以由你来分配,不同字母的完美度不同,分别对应一个1-26之间的整数。
约翰不在乎字母大小写。(也就是说字母F和f)的完美度相同。给定一个字符串,输出它的最大可能的完美度。例如:dad,你可以将26分配给d,25分配给a,这样整个字符串完美度为77。
   
       
Input
       
输入一个字符串S(S的长度 <= 10000),S中没有除字母外的其他字符。
       
Output
       
由你将1-26分配给不同的字母,使得字符串S的完美度最大,输出这个完美度。
       
Input示例
       
dad
       
Output示例
       
77
题目链接:   http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1182

           
分析:字符串处理,每次去统计a~z,A~Z出现的次数,按照数量进行排序处理,然后每一次从1乘到26即可!

下面给出AC代码:

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 typedef long long ll;
 4 int main()
 5 {
 6     char s[100005];
 7     int c[26];
 8     int m;
 9     while(scanf("%s",s)!=EOF)
10     {
11         int sum=0;
12         memset(c,0,sizeof(c));
13         for(int i=0;s[i]!='\0';i++)
14         {
15             if(s[i]>='a'&&s[i]<='z')
16                 m=s[i]-'a';
17             else if(s[i]>='A'&&s[i]<='Z')
18                 m=s[i]-='A';
19             c[m]++;
20         }
21         sort(c,c+26);
22         for(int i=0;i<26;i++)
23             sum+=c[i]*(i+1);
24         printf("%d\n",sum);
25     }
26     return 0;
27 }

 


                        

               
目录
相关文章
|
3月前
|
数据采集 算法 JavaScript
揭开JavaScript字符串搜索的秘密:indexOf、includes与KMP算法
JavaScript字符串搜索涵盖`indexOf`、`includes`及KMP算法。`indexOf`返回子字符串位置,`includes`检查是否包含子字符串。KMP是高效的搜索算法,尤其适合长模式匹配。示例展示了如何在数据采集(如网页爬虫)中使用这些方法,结合代理IP进行安全搜索。代码示例中,搜索百度新闻结果并检测是否含有特定字符串。学习这些技术能提升编程效率和性能。
揭开JavaScript字符串搜索的秘密:indexOf、includes与KMP算法
|
文件存储
Easy Number Challenge(埃式筛思想+优雅暴力)
Easy Number Challenge(埃式筛思想+优雅暴力)
77 0
Go 每周一刷之二分结尾
Go 每周一刷之二分结尾
89 0
Go 每周一刷之二分结尾
LeetCode contest 182 5368. 找出数组中的幸运数
LeetCode contest 182 5368. 找出数组中的幸运数
|
机器学习/深度学习
CodeForces 629A-Far Relative’s Birthday Cake(枚举/暴力)
CodeForces 629A-Far Relative’s Birthday Cake(枚举/暴力)
|
机器学习/深度学习
[Nowcoder] Browser Games-2021牛客多校10-A | Hash /压缩Trie
给出 n 个字符串,对于每个 i ,找到最少需要多少个前缀,将第 1 -> i 个字符串的前缀包含在内,不包含第 i + 1 -> n 个字符串的前缀 首先暴力的字典树解法(由于内存的加强,并不能通过该题) 压缩Trie 是可以的
146 0
|
安全
HDU-1039,Easier Done Than Said?(字符串处理)
HDU-1039,Easier Done Than Said?(字符串处理)
转:肉饼的自白:You&#39;ve got to find what you love
《You've got to find what you love》是乔布斯2005年在斯坦福大学毕业典礼上的演讲,当我第一次看到这个演讲视频的时候,被彻底震住了。回顾自己跌跌撞撞的人生道路,就是一个不断寻找然后坚持自己钟爱事业的过程。
1368 0