読者です 読者をやめる 読者になる 読者になる

夢追い人

"It takes a dreamer to make a dream come true."―Vincent Willem van Gogh

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

広告を非表示にする