3094
SRM過去問もやったけど、小数点を扱う問題でよく分からんのでパス
問題
文字列での文字のアドレス(1,2...N)とアルファベットでの番号(A=1,B=2...Z=26)をかけ合わせた総和をそれぞれの文字列について返せ。ただし、空白は0とする。
方針
やるだけ
コード
#include <cstdio> #include <cstring> #include <string> #include <iostream> using namespace std; typedef long long ll; void solve(string str) { ll ans=0; for (int i=0; i<str.length(); i++) { if (isalpha(str[i])) ans += (i+1)*(str[i]-'A'+1); } printf("%lld\n",ans); } int main() { string str; while (getline(cin,str)&&str!="#") { solve(str); } }
あとがき
56.08 ... 相対評価なんだってね。MM。
まぁまぁなんじゃないw