其实如果是小的输入的话,是个水题,但是这里是文件输入方式的,所以考查的是文件输入……刚才会了文件的读取之后,这题正好可以运用,哈哈……
#include <iostream>
#include <map>
#include <deque>
#include <queue>
#include <stack>
#include <string>
#include <cstring>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <map>
#include <set>
using namespace std;
int main()
{
freopen("names.txt","r",stdin);
string str,s,a[60000];
cin>>str;
int j=0,k,i;
for(i=0;i<str.length();i++)
if(str[i]>='A'&&str[i]<='Z') s+=str[i];
else
{
if(s.length()==0) continue;
a[j++]=s;
s="";
}
sort(a,a+j);
long long sum=0,sum1;
for(i=0;i<j;i++)
{
sum1=0;
for(k=0;k<a[i].length();k++)
sum1+=a[i][k]-'A'+1;
sum+=sum1*(i+1);
}
cout<<sum<<endl;
return 0;
}