您的位置:首页 > 产品设计 > UI/UE

HDU Quicksum

2017-05-22 19:39 351 查看
题意:
ACM: 1*1 + 2*3 + 3*13 = 46MID CENTRAL: 1*13 + 2*9 + 3*4 + 4*0 + 5*3 + 6*5 + 7*14 + 8*20 + 9*18 + 10*1 + 11*12 = 650

ACM
MID CENTRAL
REGIONAL PROGRAMMING CONTEST
ACN
A C M
ABC
BBC
#


 
[align=left]Sample Output[/align]

46
650
4690
49
75
14
15


自己写的代码虽然通过 , 但是却发现有更简洁的 代码:

#if 0
#include<bits/stdc++.h>
using namespace std;
int main()
{
map<char,int> m ;
for(int i=65; i<=90; i++)
{
m[char(i)] = i-64;
}
m[' '] = 0 ;

string s;
while(getline(cin,s) && s!="#")
{
int sum=0;
for(int i=0; i<s.size(); i++)
{
sum +=(i+1)*m[s[i]] ;
}
cout << sum << endl;
}
return 0;
}

#endif


//更简洁的代码 :

#if 0                   //更简洁,更快 ,更完美的代码,初衷~
#include<bits/stdc++.h>
using namespace std;
int main()
{
char  s ;
ios::sync_with_stdio(false) ;
int sum=0 , i=1;
while(1)
{
s=getchar() ;

if(s=='#') break;

else if(s=='\n')
{
cout << sum <<endl;

sum=0;

i=1;

//continue; 在这里没有用

}
else
{
sum +=(s==' ')?0:i*(s-'A'+1);
i++;
}
}
}

#endif






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