专栏文章
题解:P13992 【MX-X19-T1】「FeOI Round 4.5」五字神人
P13992题解参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @minyh93c
- 此快照首次捕获于
- 2025/12/02 10:25 3 个月前
- 此快照最后确认于
- 2025/12/02 10:25 3 个月前
传送门
思路:
突破点在于大写字母数量和字符串长度,操作是对字符串长度进行更改,操作是对大写字母数量更改。
所以我们只需要找出实现两种结果的方法中代价最小的,用表示大写字母数量,表示字符串长度。
只需判断两者与相比的波动情况,波动越小,实现的操作数越小,波动值就是最小操作数,取最小将操作数输出即可。
Code:
CPP#include<bits/stdc++.h>
typedef long long ll;
using namespace std;
template<typename T> void re(T&x){x = 0; int sign = 1; char c;do{c = getchar(); if (c == '-') sign = -1;}while(!isdigit(c)); do{x = x * 10 + c - '0'; c = getchar();}while(isdigit(c)); x *= sign;}
void write(int x){if (x < 0) x = -x, putchar('-'); if (x < 10) putchar(x + '0'); else write(x / 10), putchar(x % 10 + '0');}
ll t;
int main(){
re(t);
while (t --){
string s;
cin >> s;
ll cnt = 0;
for (int i = 0;i < s.size(); i ++) if (isupper(s[i])) cnt ++; // 统计大写字母数量
ll lengths = s.size(); // 存储字符串长度
ll ans = min(abs(cnt - 5), abs(lengths - 5)); // 取波动值取最小
printf("%lld\n", ans);
}
return 0;
}
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...