995
查看原帖
995
1011137
封禁用户楼主2023/10/15 10:11
#include <bits/stdc++.h>
#define ll long long

using namespace std;

int n;

string t_1, t_2, t_3, t_4;
int k_1, k_2[500001];

bool cmp1(int i) {
	if (t_2 == t_1)
		return true;
	return false;
}

bool cmp2(int i) {
	t_3 = t_1.substr(0, t_1.size() - 2);
	t_4 = t_1.substr(1, t_1.size() - 1);
	if (t_3 == t_2 || t_4 == t_2)
		return true;
	return false;
}

bool cmp3(int i) {
	t_3 = t_2;
	if (t_3.size() - 1 > t_1.size() || t_3.size() <= t_1.size())
		return false;
	for (int j = 0; j < t_1.size(); j++)
		if (t_3[j] != t_1[j]) {
			t_3.erase(j, 1);
			if (t_3 == t_1)
				return true;
			else
				return false;
		}
}

bool cmp4(int i) {
	if (t_2.size() != t_1.size())
		return false;
	int t = 0;
	for (int j = 0; j < t_2.size(); j++)
		if (t_2[j] != t_1[j])
			t++;
	if (t == 1)
		return true;
	else
		return false;
}

int main() {
	scanf("%d", &n);
	cin >> t_1;
	for (int i = 1; i <= n; i++) {
		cin >> t_2;
		if (cmp1(i) == true || cmp2(i) == true || cmp3(i) == true || cmp4(i) == true)
			k_2[++k_1] = i;
	}
	printf("%d\n", k_1);
	for (int i = 1; i <= k_1; i++)
		printf("%d ", k_2[i]);
}
2023/10/15 10:11
加载中...