一个模拟水题,可以看出,“one”,“two”,“three”之中,“three”的长度就和其他两个不一样,而“one”和“two”虽然都有“o”字母,但是也只有一个共同字母并且处在不同的位置,而字母又只错一个,这样我们可以通过每个字符和“one”的每个字符比较,如果符合其中两项就肯定是“one”,否则为“two”,这样我们就可以根据他们的特征来判断了。WA了一次,因为当时只判断了错一个字母而没有判断全部都对的情况。打脸!
题目:https://ac.2333.moe/Problem/view.xhtml?id=1103
代码:
Memory: 220 KB | Time: 0 MS | |
Language: G++ | Result: Accepted |
#include <iostream> #include <cstdio> #include <cstring> using namespace std; int x, len, z1, z2, z3; char str[10]; int main() { while(~scanf("%d", &x) && x) { while(x--) { scanf("%s", &str); len = strlen(str); if(len==5)printf("3\n"); else { z1 = str[0]=='o'?1:0; z2 = str[1]=='n'?1:0; z3 = str[2]=='e'?1:0; if((z1+z2+z3)>=2)printf("1\n"); else printf("2\n"); } } } return 0; }