STL堆出来的代码,求优化
查看原帖
STL堆出来的代码,求优化
1439183
Burning_Red楼主2025/7/24 11:06

MLE,60pts,还能优化吗?

#include <bits/stdc++.h>
using namespace std;

typedef long long ll;

unordered_map<string, bool> M, M1[10005];

int main() {
	ll n, m;
	cin >> n >> m;
	string s;
	for (int i = 1; i <= n; i++) {
		cin >> s;
		M.insert(make_pair(s, true));
	}
	string t;
	char t1;
	for (int i = 1; i <= m; i++) {
		cin >> s;
		if (M[s]) {
			cout << -1 << endl;
			continue;
		}
		for (char j = 'a'; j <= 'z'; j++) {
			for (int k = 0; k <= s.size(); k++) {
				t = "";
				t += j;
				s.insert(k, t);
				if (M[s]) {
					M1[i].insert(make_pair(s, 1));
				}
				s.erase(k, 1);
			}
		}
		for (char j = 'a'; j <= 'z'; j++) {
			for (int k = 0; k < s.size(); k++) {
				t = "";
				t += j;
				t1 = s[k];
				s.replace(k, 1, t);
				if (M[s]) {
					M1[i].insert(make_pair(s, 1));
				}
				t = "";
				t += t1;
				s.replace(k, 1, t);
			}
		}
		for (int j = 0; j < s.size(); j++) {
			t1 = s[j];
			t = "";
			t += t1;
			s.erase(j, 1);
			if (M[s]) {
					M1[i].insert(make_pair(s, 1));
			}
			s.insert(j, t);
		} 
		cout << M1[i].size() << endl;
	}
	return 0;
}
2025/7/24 11:06
加载中...