zoukankan      html  css  js  c++  java
  • luogu2580 于是他错误的点名开始了 Trie树

    模板题

    #include <iostream>
    #include <cstring>
    #include <cstdio>
    using namespace std;
    struct Node{
    	int cnt, son[29];
    	bool hav;
    	Node(){
    		cnt = hav = 0;
    	}
    }trie[500005];
    int c, n, m, len;
    char s[55];
    void ins(){
    	int u=0;
    	for(int i=0; i<len; i++){
    		int v=s[i]-'a';
    		if(!trie[u].son[v])	trie[u].son[v] = ++c;
    		u = trie[u].son[v];
    	}
    	trie[u].hav = true;
    }
    int que(){
    	int u=0;
    	for(int i=0; i<len; i++){
    		int v=s[i]-'a';
    		if(!trie[u].son[v])	return 3;
    		u = trie[u].son[v];
    	}
    	if(!trie[u].hav)	return 3;
    	if(!trie[u].cnt){
    		trie[u].cnt++;
    		return 1;
    	}
    	return 2;
    }
    int main(){
    	cin>>n;
    	for(int i=1; i<=n; i++){
    		scanf("%s", s);
    		len = strlen(s);
    		ins();
    	}
    	cin>>m;
    	for(int i=1; i<=m; i++){
    		scanf("%s", s);
    		len = strlen(s);
    		int t=que();
    		if(t==1)	printf("OK
    ");
    		else if(t==2)	printf("REPEAT
    ");
    		else	printf("WRONG
    ");
    	}
    	return 0;
    }
    
  • 相关阅读:
    缓存清理
    机器学习在电商领域三大应用,推荐,搜索,广告中商品排序
    并发和并行
    拷贝控制
    gitk
    git GUI Clients
    new delete
    Windows 安装 gcc
    C++ 运算符优先级
    iostream 操作符
  • 原文地址:https://www.cnblogs.com/poorpool/p/7922496.html
Copyright © 2011-2022 走看看