51 Nod1182完美字符串
2017-06-05 01:02
183 查看
1182 完美字符串
题目来源: Facebook Hacker Cup选拔
收藏
关注
约翰认为字符串的完美度等于它里面所有字母的完美度之和。每个字母的完美度可以由你来分配,不同字母的完美度不同,分别对应一个1-26之间的整数。
约翰不在乎字母大小写。(也就是说字母F和f)的完美度相同。给定一个字符串,输出它的最大可能的完美度。例如:dad,你可以将26分配给d,25分配给a,这样整个字符串完美度为77。
Input
Output
Input示例
Output示例
C++的运行时限为:1000 ms ,空间限制为:131072
题意:给定一个字符串,你可以给任意字母规定价值(1-26),求最大价值。
解析:这个题目是个很水的贪心。先统计各个字母的个数,然后再排序,依次从最高价值(26)与最大个数的积往下算和即可得出最优解。以下是我的代码
题目来源: Facebook Hacker Cup选拔
收藏
关注
约翰认为字符串的完美度等于它里面所有字母的完美度之和。每个字母的完美度可以由你来分配,不同字母的完美度不同,分别对应一个1-26之间的整数。
约翰不在乎字母大小写。(也就是说字母F和f)的完美度相同。给定一个字符串,输出它的最大可能的完美度。例如:dad,你可以将26分配给d,25分配给a,这样整个字符串完美度为77。
Input
输入一个字符串S(S的长度 <= 10000),S中没有除字母外的其他字符。
Output
由你将1-26分配给不同的字母,使得字符串S的完美度最大,输出这个完美度。
Input示例
dad
Output示例
77
C++的运行时限为:1000 ms ,空间限制为:131072
题意:给定一个字符串,你可以给任意字母规定价值(1-26),求最大价值。
解析:这个题目是个很水的贪心。先统计各个字母的个数,然后再排序,依次从最高价值(26)与最大个数的积往下算和即可得出最优解。以下是我的代码
#include <stdio.h> #include <string.h> #include <stdlib.h> int cmp(const void*a,const void*b) { return *(int *)b-*(int *)a; } int main() { int letter[26]={0}; char arr[10005]; gets(arr); for(int i=0;i<strlen(arr);i++) { if(arr[i]>='A'&&arr[i]<='Z') letter[arr[i]-'A']++; else letter[arr[i]-'a']++; } qsort(letter,26,sizeof(int),cmp); long long sum=0; for(int i=26,j=0;i>=1;i--,j++) sum+=i*letter[j]; printf("%lld\n",sum); return 0; }真的是相当水的一个题。
相关文章推荐
- 51nod1182 完美字符串
- (51nod)1182 - 完美字符串
- 51 nod 1182 完美字符串
- 51 Nod 完美字符串
- 51Nod——完美字符串
- 完美解决Excel的连接字符串与上传方法
- 完美字符串
- 每天写一点代码----完美字符串(庞果网)
- 贪心算法之完美字符串
- 【Tisinsen1043】完美的代价(字符串+树状数组)
- 完美解决Excel的连接字符串与上传方法
- 51nod 1182 完美字符串【贪心】
- 完美处理unicode码与其他字符串混合的字符串
- 完美的2个php检测字符串是否是utf-8编码函数分享
- ASP 二进制与字符串互转, 另类完美解决方法, adodb.stream 实现 By shawl.qiu
- 字符串的完美度
- c#完美截断字符串代码(中文+非中文)
- 51 nod 1277 字符串中的最大值(KMP)
- 51nod 1182 完美字符串
- 十七周周练E - 完美字符串 【字符串】&&【统计】