HDU Quicksum

题意:
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
#
 
Sample Output
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 


 
      
 
      
 
     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值