题意:没什么好说的,不过因为没看清题,输出大写的YES,NO,贡献了两次,泪流满面。函数strlen不要写在循环内就OK了。否则会耗去大半时间。
题解:
#include <iostream> using namespace std; #define N 100010 char str1[N], str2[N]; int main() { while ( scanf("%s%s",str1,str2) != EOF ) { int l1 = strlen(str1), l2 = strlen(str2);/*不求长度,直接以'\0'为结束标记,效率会更好*/ int i = 0, j = 0; while ( i < l1 && j < l2 ) { if ( str1[i] == str2[j] ) { ++i; ++j; } else ++j; } if ( i >= l1 ) printf("Yes\n"); else printf("No\n"); } return 0; }