字典树40分 剩下的RE 求助
查看原帖
字典树40分 剩下的RE 求助
905957
Serend1pity楼主2023/11/12 09:28
#include<iostream>
#include<string>
using namespace std;
int cnt[100000];
int nxt[100000][26];
int idx=0;
void insertTrie(string s){
    int p=0;
    for(int i=0;i<s.length();i++){
        int t=s[i]-'a';
        if(nxt[p][t]==0) nxt[p][t]=++idx;
        p=nxt[p][t];
    }
    cnt[p]++;
}
void queryTrie(string s){
    int p=0;
    for(int i=0;i<s.length();i++){
        int t=s[i]-'a';
        if(nxt[p][t]==0) {
            cout<<"WRONG"<<endl;
            return ;
        }
        p=nxt[p][t];
    }
    cnt[p]++;
    if(cnt[p]==2) cout<<"OK"<<endl;
    else cout<<"REPEAT"<<endl;
}
int main(){
    int n;
    cin>>n;
    for(int i=0;i<n;i++){
        string s;
        cin>>s;
        insertTrie(s);
    }
    int m;
    cin>>m;
    for(int i=0;i<m;i++){
        string s;
        cin>>s;
        queryTrie(s);
    }
    return 0;
}

2023/11/12 09:28
加载中...