显示原始代码
#include <bits/stdc++.h>
#define int long long
using namespace std;
signed main() {
int n = 0;
cin >> n;
string T;
cin >> T;
string S;
string subs;
int count = 0;
vector<int> v;
for (int k = 1; k <= n; k++) {
count = 0;
cin >> S;
int flag = 0;
for (int j = 0, i = 0; j < S.size(); j++) {
while (T[i] != S[j]) {
count++;
j++;
if (count == 2) {
flag = 1;
break;
}
}
if (flag == 1)
break;
i++;
}
if (count == 1 || count == 0) {
v.push_back(k);
continue;
}
if (flag == 1) {
count = 0;
flag = 0;
for (int j = 0, i = 0; j < S.size(); j++) {
while (T[i] != S[j]) {
if (count == 0)
i++;
else
j++;
count++;
if (count == 2) {
flag = 1;
break;
}
}
if (flag == 1)
break;
if (count != 0)
i++;
}
}
if (count == 0 || count == 1) {
v.push_back(k);
continue;
}
if (flag == 1) {
for (int j = 0, i = 0; j < S.size(); j++) {
while (T[i] != S[j]) {
count++;
S[j] = T[i];
if (count == 2) {
flag = 1;
break;
}
}
if (flag == 1)
break;
i++;
}
}
if (count == 1 || count == 0) {
v.push_back(k);
continue;
}
}
if (v.size() == 0)
cout << 0 << endl;
else {
cout << v.size() << endl;
for (int i = 0; i < v.size(); i++) {
cout << v[i] << " ";
}
}
return 0;
}