#include <cstdio>
#include <string.h>
using namespace std;
int n,m;
char enter;
char name[60];
struct Trie{
Trie *next[30];
bool vis;
Trie(){
for (int i = 0; i<=25; i++)
next[i] = NULL;
vis = 0;
}
};
Trie *T = new Trie;
void insert(Trie *p,char *s){
for (int i = 0; i<strlen(s); i++){
if (p->next[s[i]-'a']==NULL) p->next[s[i]-'a'] = new Trie;
p = p->next[s[i]-'a'];
}
}
int query(char *s,Trie *p){
for (int i = 0; i<strlen(s); i++){
if (p->next[s[i]-'a']==NULL) return 0;
p = p->next[s[i]-'a'];
}
if (p->vis) return 2;
p->vis = 1;
return 1;
}
int main(){
scanf("%d",&n);scanf("%c",&enter);
for (int i = 1; i<=n; i++){
gets(name);
insert(T,name);
}
scanf("%d",&m);scanf("%c",&enter);
for (int i = 1; i<=m; i++){
gets(name);
switch(query(name,T)){
case (1):puts("OK");break;
case (2):puts("REPEAT");break;
case (0):puts("WRONG");break;
}
}
}
我下了第一个样例,输出的答案是一样的,为什么报错:To short on line 1?