显示原始代码
#include <stdio.h>
#include <string.h>
#define L 500010
char s1[L] = "\0", s2[L] = "\0";
int main(int argc, char** argv) {
long long n, len1, len2;
scanf("%lld %s", &n, s1);
len1 = strlen(s1);
int ok1 = 1, cont = 0;
while (n > 0) {
n--;
scanf("%s", s2);
len2 = strlen(s2);
if (len2 > len1 + 1 || len2 < len1 - 1) {
ok1 = 0;
printf("%d ", cont);
continue;
}
int i = 0, j = 0; if (len1 > len2) {
for (; i < len1; i++) {
if (s1[i] == s2[j]) {
j++;
}
}
if (i - j != 1)
ok1 = 0;
}
i = 0, j = 0;
if (len2 > len1) {
for (; j < len2; j++) {
if (s1[i] == s2[j]) {
i++;
}
}
if (j - i != 1) {
ok1 = 0;
}
}
int check = 0;
if (len1 == len2) {
for (int i = 0; i < len1; i++) {
if (s1[i] != s2[i])
check++;
}
if (check > 1)
ok1 = 0;
}
if (ok1)
cont++;
printf("%d ", cont);
}
return 0;
}