#include<iostream>
int find(char a);
int main(){
char a;
int count=0;
while(true){
a=std::cin.get();
if(a=='\r' || a=='\n') break;
count+=find(a);
}
std::cout<<count;
system("pause");
}
int find(char a){
char s1[]={'a','d','g','j','m','p','t','w',' '};
char s2[]={'b','e','h','k','n','q','u','x'};
char s3[]={'c','f','i','l','o','r','v','y'};
char s4[]={'s','z'};
for(int i=0;i<9;++i){
if(s1[i]==a) return 1;
}
for(int i=0;i<8;++i){
if(s2[i]==a) return 2;
}
for(int i=0;i<8;++i){
if(s3[i]==a) return 3;
}
for(int i=0;i<2;++i){
if(s4[i]==a) return 4;
}
}
一开始用的'\n'表示换行,直接wa9个,换成'\r'9个倒是没问题了,原来AC的第8个TLE了,最后改成了'\r' or '\n'全过。我下载不了数据点,所以不清楚是什么原因。