Captcha Cracker

1、题目大意

SK同学希望你能帮他写一个程序来自动识别验证码的内容,验证码由小写字母和阿拉伯数字组成,你需要识别出其中所有的0,2,4,6,9以及这5个数字对应的英文单词,并按照它们在验证码中出现的顺序以数字形式输出。

输入描述:

第一行是一个正整数T(≤ 10),表示测试数据的组数, 每组测试数据只有一行,包含一个长度不超过100000的只由小写字母和阿拉伯数字组成的非空字符串。

输出描述:

对于每组测试数据,输出一行字符串,表示识别出的验证码。

2、题意分析及求解

该题妥妥的模拟题,根据题目意思进行处理即可。
#include <bits/stdc++.h>
using namespace std;

int T;
string s;
int main()
{
    scanf("%d",&T);
    while (T--){
        cin >> s;
        for (int i = 0;i < s.length();i++){
            if (s[i] == '0' || s[i] == '2' || s[i] == '4' || s[i] == '6' || s[i] == '9') cout << s[i];
            else if (s[i] == 'z' && s[i + 1] == 'e' && s[i + 2] == 'r' && s[i + 3] == 'o') cout << 0,i += 3;
            else if (s[i] == 't' && s[i + 1] == 'w' && s[i + 2] == 'o') cout << 2,i += 2;
            else if (s[i] == 'f' && s[i + 1] == 'o' && s[i + 2] == 'u' && s[i + 3] == 'r') cout << 4,i += 3;
            else if (s[i] == 's' && s[i + 1] == 'i' && s[i + 2] == 'x') cout << 6,i += 2;
            else if (s[i] == 'n' && s[i + 1] == 'i' && s[i + 2] == 'n' && s[i + 3] == 'e') cout << 9,i += 3;
        }
        cout << endl;
    }
    
    return 0;
}

3、题目标签

字符串、模拟
全部评论

相关推荐

和蔼:在竞争中脱颖而出,厉害! 但是有一个小问题:谁问你了?😡我的意思是,谁在意?我告诉你,根本没人问你,在我们之中0人问了你,我把所有问你的人都请来 party 了,到场人数是0个人,誰问你了?WHO ASKED?谁问汝矣?誰があなたに聞きましたか?누가 물어봤어?我爬上了珠穆朗玛峰也没找到谁问你了,我刚刚潜入了世界上最大的射电望远镜也没开到那个问你的人的盒,在找到谁问你之前我连癌症的解药都发明了出来,我开了最大距离渲染也没找到谁问你了我活在这个被辐射蹂躏了多年的破碎世界的坟墓里目睹全球核战争把人类文明毁灭也没见到谁问你了
点赞 评论 收藏
分享
牛客279957775号:铁暗恋
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务