题解 | 小红的密码修改

小红的密码修改

https://www.nowcoder.com/practice/209d146b415c482abf9dc5a91914f00e

统计每种字符类型的数量,大于1可替换为其他所有字符,反之只能替换为同类型字符

#include <iostream>
#include<string>
using namespace std;

int gettype(char c){
    if(c>='A'&&c<='Z')return 0;
    if(c>='a'&&c<='z')return 1;
    if(c>='0'&&c<='9')return 2;
    if(c==','||c=='.'||c=='?'||c=='!')return 3;
    return -1;
}
int solve(const string&s){
    int n=s.size();
    int ans=0;
    int cnt[4]={0};
    for(char c:s)cnt[gettype(c)]++;
    ans+=cnt[0]*(cnt[0]>1?65:25);
    ans+=cnt[1]*(cnt[1]>1?65:25);
    ans+=cnt[2]*(cnt[2]>1?65:9);
    ans+=cnt[3]*(cnt[3]>1?65:3);
    return ans;
}
int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    int t;
    cin>>t;
    while(t--){
        string s;
        cin>>s;
        cout<<solve(s)<<"\n";
    }
    return 0;
}

全部评论

相关推荐

03-26 12:00
已编辑
门头沟学院 Java
offer魅魔_oc...:100-200每天,你还要倒贴100
点赞 评论 收藏
分享
许愿一个offer_...:不是啊,这个只代表你的面试官提交了你的面评,面试是否通过还是要看官网状态呢
腾讯2025实习生招聘
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务