您的位置:首页 > 编程语言

51Nod 之贪心1

2015-10-24 23:05 176 查看
贪心简单题1

现在真的是水的不行啊。。水题都。。。。555。。。

输入

输入一个字符串S(S的长度 <= 10000),S中没有除字母外的其他字符。


输出

由你将1-26分配给不同的字母,使得字符串S的完美度最大,输出这个完美度。


输入示例

dad


输出示例

77


#include<stdio.h>

#include<iostream>

#include<algorithm>

#include<cstring>

bool cmp(int x,int y)

{

return x>y;

}

const int maxn=10000;

using namespace std;

int main()

{

    int n,i,j;

    char s[maxn];

    int a[30];

    memset(a,0,sizeof(a));

    scanf("%s",s);

    n=strlen(s);

    for(i=0;i<n;i++)

    {

        if(s[i]>='A'&&s[i]<='Z')

        s[i]=tolower(s[i]);//将大写字母转换为小写,对应的有toupper。。

        a[s[i]-'a']++;//记录某种字母的个数

    }

    sort(a,a+26,cmp);

    int t=26,sum=0;

    for(i=0;i<26;i++)

    {

        sum+=a[i]*t;

        t--;

    }

    printf("%d\n",sum);

    return 0;

}



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  51Nod代码什么的