北京师范大学第十五届ACM决赛 C题 Captcha Cracker 【水题模拟】

来源:互联网 发布:2016中国贸易数据 编辑:程序博客网 时间:2024/05/20 11:47

传送门暂时没有, 嘻嘻
//就是给你一串包含小写字母和数字的字符串, 从中打印出是02469的, 英文的也算. 0 - zero…..
//就是一份很简单的模拟. 用string做也是非常好写的. 记一记
AC Code

/** @Cain*/void solve(){    string s;    cin >> s;    for (int i = 0;i < s.size(); i ++){        if(s[i] == '0' || s[i] == '2' || s[i] == '4' || s[i] == '6' || s[i] == '9' )            printf("%c",s[i]);        else if(s.substr(i,4) == "zero")            i+=3,printf("0");        else if(s.substr(i,3) == "two")            i+=2,printf("2");        else if(s.substr(i,4) == "four")            i+=3,printf("4");        else if(s.substr(i,3) == "six")            i+=2,printf("6");        else if(s.substr(i,4) == "nine")            i+=3,printf("9");    }  //因为最后循环会自动加1,所以加的时候少加1.    printf("\n");}

//当然是用string 的 substr操作, substr(a,b) 表示从字符串第a为开始往后取b个字符组成的字符串…. 并且如果起点越界了会报错..

阅读全文
0 0