51nod1182 完美字符串

2015-07-20 17:36:25 · 作者: · 浏览: 4

?

题意:给定一个字符串,然后可以随意分配每个字符1-26的完美度,问最大完美度是多少。

思路:贪心,开始太疏忽,没有想到贪心,因为26肯定是分配给出现次数最多的那个,其他依次递减。我用一个数组保存每个字符出现的次数,然后在从大到小排序就行。

#include
  
   
#include
   
     #include
    
      #include
     
       using namespace std; char s[10001]; int b[10001]; int cmp(int x,int y) { return x>y; } int main() { int sum,n,m,k; while(scanf(%s,s)!=EOF) { int i,l=strlen(s); n=26; sum=0; k=l; memset(b,0,sizeof(b)); //printf(%d ,'0'); for(i=0;i
      
       

?