B3956 [GESP202403 三級] 字母求和 題解

非气盈门發表於2024-07-21

B3956 [GESP202403 三級] 字母求和 題解

當時在考試,3分鐘A了,結果第二題T了。

#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 2;
const int N1 = 1e3 + 2;
typedef long long ll;
typedef unsigned long long ull;
#define fo(i,n,m) for(int i=n;i<=m;i++)
int main() {
	ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);
	int n, cnt = 0;
	string a;
	cin >> n >> a;	// 輸入字串
	fo(i, 0, a.length() - 1)	// 遍歷字串
	if (a[i] >= 'a' && a[i] <= 'z')	// 判斷是不是小寫字母
		cnt += (a[i] - 'a' + 1); // 算出來他是26個字母的第幾個
	else	// 否則就只有大寫字元了,題目裡寫了只有大寫和小寫字母
		cnt += (int) - a[i]; // 按照題意,刪掉ASCII碼值。
	cout << cnt;
	return 0;
}

相關文章