Captcha Cracker(BNUOJ 同步赛)

来源:互联网 发布:双立人珐琅铸铁锅 知乎 编辑:程序博客网 时间:2024/06/07 01:01

C. Captcha Cracker

Time Limit: 1000ms
Memory Limit: 262144KB
64-bit integer IO format: %lld      Java class name: Main
Submit Status

www.02469.com(本网页纯属虚构,如有雷同,纯属巧合),是一个资源丰富的教学资源网站,好学的SK同学经常访问这个网站。通常来说,网站为了安全考虑,登录的时候都需要用户输入验证码,这就让SK同学非常不爽了。

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

为了表示感谢,SK同学愿意跟你分享他私藏的教学资源(详情请参考气球上的logo)。

Input

第一行是一个正整数T(\leq 10),表示测试数据的组数,

每组测试数据只有一行,包含一个长度不超过100000的只由小写字母和阿拉伯数字组成的非空字符串。

Output

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

Sample Input

2onetwothreefourfiveseven0two4six6siiiiix

Sample Output

2402466

Hint

0 - zero

2 - two

4 - four

6 - six

9 - nine


题目分析:水题,但是因为组数t忘了输入,wr到死

#include <cstdio>#include <cstring>#include <iostream>#include <cmath>#include <algorithm>using namespace std;int main(){int t;        cin>>t;char sh[100005];int a[100005];while(t--){memset(sh,-1,sizeof(sh));memset(a,0,sizeof(a));cin>>sh;    int n = strlen(sh);    int j=0;    for(int i=0;i<n;i++){    if(sh[i] == 'z' &&sh[i+1]=='e'&&sh[i+2]=='r'&&sh[i+3]=='o')        a[++j]=0;    if(sh[i] == '0')        a[++j]=0;    if(sh[i] == 't' &&sh[i+1]=='w'&&sh[i+2]=='o' )        a[++j]=2;    if(sh[i] == '2')        a[++j]=2;    if(sh[i] == 'f' &&sh[i+1]=='o'&&sh[i+2]=='u'&&sh[i+3]=='r' )        a[++j]=4;    if(sh[i] == '4')        a[++j]=4;    if(sh[i] == 's' &&sh[i+1]=='i'&&sh[i+2]=='x' )        a[++j]=6;    if(sh[i] == '6')        a[++j]=6;    if(sh[i] == 'n' &&sh[i+1]=='i'&&sh[i+2]=='n'&&sh[i+3]=='e' )        a[++j]=9;    if(sh[i] == '9')        a[++j]=9;}for(int i=1;i<=j;i++)  cout<<a[i];cout<<endl;}  return 0;} 


0 0
原创粉丝点击