#include<bits/stdc++.h>
using namespace std;
inline int read()
{
int x=0,f=1;char ch=getchar();
while (ch<'0'||ch>'9'){if (ch=='-') f=-1;ch=getchar();}
while (ch>='0'&&ch<='9'){x=x*10+ch-48;ch=getchar();}
return x*f;
}
const int MAXN=1e7+5;
int n,m,tot,flag;
int Trie[MAXN][26],word[MAXN];
char str[MAXN];
bool repeat[MAXN];
void insert(char s[]){
int u=0;
int len=strlen(s);
for(int i=0;i<len;i++){
int a=s[i]-'a';
if(Trie[u][a]==0) Trie[u][a]=++tot;
u=Trie[u][a];
}
word[u]++;
}
void chenk(char s[]){
int u=0;
int len=strlen(s);
for(int i=0;i<len;i++){
int a=s[i]-'a';
if(Trie[u][a]==0){
flag=0;
return ;
}
u=Trie[u][a];
}
if(repeat[u]==0){
flag=1;
repeat[u]=1;
}
else flag=2;
}
int main(){
n=read();
for(int i=1;i<=n;i++){
scanf("%s",str);
insert(str);
}
m=read();
for(int i=1;i<=m;i++){
scanf("%s",str);
chenk(str);
if(flag==0) printf("WRONG\n");
else if(flag==1) printf("OK\n");
else printf("REPEAT\n");
}
}
hack数据是
1
ad
1
a
正确输出显而易见是 WRONG,但是本代码输出的是OK。