题解:P10566 「Daily OI Round 4」Analysis

· · 题解

题目传送门

题目大意

给定一个字符串 s,现在要将这个字符串变成只有大写字母的字符串。

设变换前的字符 ASCII 码为 a,变换后的 ASCII 码为 b。每一次变换的时间 t|a-b|。求 t 的最小值。

题目分析

考虑暴力枚举。

我们可以先定义一个字符串的长度 n,然后再进行暴力枚举。

我们可以分成两类进行讨论:

所以即得最后答案 t

代码

#include <bits/stdc++.h>
using namespace std;
string s;
int n , t;
int main()
{
    cin >> s; 
    n = s.length();
    for(int i = 0;i < n;i++){
        if(s[i] > 'Z') t += s[i] - 'Z';
        if(s[i] < 'A') t += 'A' - s[i];
    }
    cout << t;
    return 0;
 }