代码如下:
# include <bits/stdc++.h>
using namespace std;
const int MAX_N = 1010;
int Tree[MAX_N][26];
char s[MAX_N];
int vis[MAX_N];
int number[MAX_N];
void build()
{
int len = strlen(s);
int id = 0,cnt = 0;
for(int i = 0;i < len;i++)
{
int c = s[i]-'a';
if(!Tree[id][c]) Tree[id][c] = ++cnt;
id = Tree[id][c];
}
number[id]=1;
}
int find()
{
int len = strlen(s);
int id = 0;
int flag = 0;
for(int i = 0;i < len;i++)
{
int u = s[i]-'a';
if(!Tree[id][u]) return 0;
id = Tree[id][u];
if(!vis[id])
{
vis[id] = 1;
flag = 1;
}
}
if(!flag) return 2;
if(number[id]) return 1;
}
int main (){
int n;
cin >> n;
while(n--)
{
cin >> s;
build();
}
cin >> n;
while(n--)
{
cin >> s;
int ans = find();
if(ans == 1)
{
cout << "OK" << endl;
}
else if(ans == 0)
{
cout << "WRONG" << endl;
}
else
{
cout << "REPEAT" << endl;
}
}
return 0;
}
啊啊啊为什么10分啊