只有三十分 其他用例全部RE 怎么办?
查看原帖
只有三十分 其他用例全部RE 怎么办?
1252936
xdyyds楼主2025/1/7 14:34
#include <bits/stdc++.h>

using namespace std;
const int N = 1e4 + 100;
int ch[N][26], idx, cnt[N];
int n, m;
vector<string>ans;
set<string> ss;

void insert(string s) {
	int p = 0;
	for (int i = 0; i < s.size(); i++) {
		int j = s[i] - 'a';
		if (!ch[p][j])
			ch[p][j] = ++idx;
		p = ch[p][j];
	}
	cnt[p]++;
}

int query(string s) {
	int p = 0;
	for (int i = 0; i < s.size(); i++) {
		int j = s[i] - 'a';
		if (!ch[p][j])
			return 0;
		p = ch[p][j];
	}
	return cnt[p];
}

int main() {
	cin >> n;
	while (n--) {
		string s;
		cin >> s;
		insert(s);
	}
	cin >> m;
	while (m--) {
		string s;
		cin >> s;
		if (query(s)) {
			if (ss.find(s) != ss.end())
				ans.push_back("REPEAT");
			else {
				ss.insert(s);
				ans.push_back("OK");
			}
		} else
			ans.push_back("WRONG");
	}

	for (auto i : ans)
		cout << i << '\n';
	return 0;
}
2025/1/7 14:34
加载中...