求大佬看看这个,subtask #1 WA 了,呜呜呜。。
#include <bits/stdc++.h>
#include <algorithm>
#include <numeric>
using namespace std;
int da[500005][26];
int co[13000005];
int ans = 0;
void insert(string s) {
int p = 0;
for (int i = 0; i < s.length(); ++i) {
int now_char = s[i]-'a';
if (!da[p][now_char]) {
da[p][now_char] = ++ans;
}
p = da[p][now_char];
}
co[p] += 1;
}
int count(string s) {
int p = 0;
for (int i = 0; i < s.length(); ++i) {
int now_char = s[i]-'a';
if (!da[p][now_char]) return 0;
p = da[p][now_char];
}
if (co[p] == -1) return 2;
else {
co[p] = -1;
return 1;
}
}
void solve() {
memset(da, 0, sizeof(da));
memset(co, 0, sizeof(co));
int n;
cin >> n;
for (int i = 0; i < n; ++i) {
string s;
cin >> s;
insert(s);
}
int m;
cin >> m;
for (int i = 0; i < m; ++i) {
string s;
cin >> s;
int c = count(s);
if (c == 1) {
cout << "OK" << endl;
} else if (c == 0) {
cout << "WRONG" << endl;
} else {
cout << "REPEAT" << endl;
}
}
}
int main() {
std::ios::sync_with_stdio(false);
std::cin.tie(nullptr);
int t = 1;
// cin >> t;
while (t--) {
solve();
}
return 0;
}