ACM--贪心入门--完美字符串
2016-03-22 13:37
239 查看
51nod题目地址:点击打开链接
约翰认为字符串的完美度等于它里面所有字母的完美度之和。每个字母的完美度可以由你来分配,不同字母的完美度不同,分别对应一个1-26之间的整数。
约翰不在乎字母大小写。(也就是说字母F和f)的完美度相同。给定一个字符串,输出它的最大可能的完美度。例如:dad,你可以将26分配给d,25分配给a,这样整个字符串完美度为77。
分析: 由排序不等式,出现次数最多的字母显然应该给26。所以这个题目变成了统计每种字母出现的次数了,然后按照出现次数从大到小,依次分配从高到低的权值。这就是最朴素的贪心思想。
最后,我们来提供输入输出数据,由你来写一段程序,实现这个算法,只有写出了正确的程序,才能继续后面的课程。
输入
输出
输入示例
输出示例
请选取你熟悉的语言,并在下面的代码框中完成你的程序,注意数据范围,最终结果会造成Int32溢出,这样会输出错误的答案。
不同语言如何处理输入输出,请查看下面的语言说明。
约翰认为字符串的完美度等于它里面所有字母的完美度之和。每个字母的完美度可以由你来分配,不同字母的完美度不同,分别对应一个1-26之间的整数。
约翰不在乎字母大小写。(也就是说字母F和f)的完美度相同。给定一个字符串,输出它的最大可能的完美度。例如:dad,你可以将26分配给d,25分配给a,这样整个字符串完美度为77。
分析: 由排序不等式,出现次数最多的字母显然应该给26。所以这个题目变成了统计每种字母出现的次数了,然后按照出现次数从大到小,依次分配从高到低的权值。这就是最朴素的贪心思想。
最后,我们来提供输入输出数据,由你来写一段程序,实现这个算法,只有写出了正确的程序,才能继续后面的课程。
输入
输入一个字符串S(S的长度 <= 10000),S中没有除字母外的其他字符。
输出
由你将1-26分配给不同的字母,使得字符串S的完美度最大,输出这个完美度。
输入示例
dad
输出示例
77
请选取你熟悉的语言,并在下面的代码框中完成你的程序,注意数据范围,最终结果会造成Int32溢出,这样会输出错误的答案。
不同语言如何处理输入输出,请查看下面的语言说明。
#include <iostream> #include<stdio.h> #include<stdlib.h> #include<string.h> #include<string> using namespace std; void swap(int *a, int *b) { int c; c = *a; *a = *b; *b = c; } int main(){ char temp; int res[26]={0}; char *s; string f; getline(cin,f); s = (char *)f.data(); int n=strlen(s); for(int i=0;i<n;i++){ temp = *(s++); if(((temp-'0')-49)<0){ res[temp-'0'-17]+=1; }else{ res[temp-'0'-49]+=1; } } for(int i=0;i<26;i++){ for(int j=i+1;j<26;j++){ if (res[i] > res[j]){ swap(&res[i], &res[j]); } } } int g=1; double result; for(int x=0;x<26;x++){ result = result+res[x]*g; g++; } printf("%.0f",result); return 0; }
相关文章推荐
- Notepad++ 快捷键 大全
- 3790.1830_下载
- KMP--Simpsons’ Hidden Talents
- Spring 一二事(9) - xml 形式的 AOP
- java将字符串进行MD5加密和将时间戳格式化输出的方法
- php设计模式学习系列(六)--建造者模式
- 计蒜课 合法分数的组合
- 如何实现并调用接口
- Exchange 2013配置自动发现服务
- codeforces 650d Zip-line
- GitHub 添新功能,提供更快速更高效的代码审查体验
- :The server quit without updating PID file问题的解决办法
- #pragma once与#ifndef两种防止头文件二次编译的区别
- java编程,ATM简例。
- 最大矩形求解问题(单调递减栈)
- python中小用法之assert,*arg,**arg用法全解
- facebook bigpipe
- 求各位数字之和
- 理解JavaScript中的作用域和上下文
- Java Generics and Collections-2.2