TRIE(字典树)模板
来源:互联网 发布:飞豆打印软件注册码 编辑:程序博客网 时间:2024/05/18 01:08
/*给一个不用指针,用链式前向星写的TRIE,当初只为省空间*/#include<cstring>#include<cstdlib>#include<cmath>#include<iostream>#include<algorithm>#define For(i,a,b) for(register int i=a;i<=b;++i)#define Rep(i,a,b) for(register int i=a;i>=b;--i)const int maxx=5000001;using namespace std;int be[maxx],ne[maxx],to[maxx],e=0,cnt=0;//cnt表示节点编号,e表示边的编号void add(int x,int y){to[++e]=y;ne[e]=be[x];be[x]=e;}struct node{char x;//x:当前节点所存的字符bool vis,end;//vis 是否REPEAT end是否为名字结尾}trie[maxx];char name[56];void insert(char *s){//插入操作int pos=0,len=strlen(s),i=0,flag;For(i,0,len-1){flag=0;for(int j=be[pos];j;j=ne[j]){int go=to[j];if(trie[go].x==s[i]){//找到已有相同节点,就把位置赋给posflag=1;pos=go;break;}}if(!flag) {add(pos,++cnt); pos=cnt; trie[pos].x=s[i];}//没有找到就新建节点,单向边!if(i==len-1) trie[pos].end=1;//标记结束}}int query(char *s){int pos=0,len=strlen(s),i=0,flag;For(i,0,len-1){flag=0;for(int j=be[pos];j;j=ne[j]){int go=to[j];if(trie[go].x==s[i]){pos=go;flag=1;break;}}if(!flag) return 0;//没找到就返回0if(i==len-1)if(trie[pos].end){//判断是否REPERTif(!trie[pos].vis) {trie[pos].vis=1; return 1;}else return 2;}else return 0;}}int main(){#ifndef ONLINE_JUDGEfreopen("input.in", "r", stdin);freopen("output.out", "w", stdout);#endifint n,m,k;scanf("%d",&n);For(i,1,n){scanf("%s",name);insert(name);}scanf("%d",&m);For(i,1,m){scanf("%s",name);k=query(name);if(k==1) puts("OK");else if(!k) puts("WRONG");else puts("REPEAT");}return 0;}任意门
阅读全文
0 0
- 字典树(trie)模板
- Trie(字典树模板)
- TRIE(字典树)模板
- 字典树(trie)模板
- Trie字典树【模板
- 字典树Trie 模板
- Trie - 字典树 模板
- Trie字典树模板
- trie树(字典树)模板
- trie树(字典树)--模板
- 【Trie(字典树)--模板】学习
- Trie树 字典树 模板
- 字典树(trie树)模板: Phone List 问题
- 【模板】【字符串】Trie(前缀树、字典树)
- trie树学习总结(字典树模板)
- Trie Tree (字典树)的简单使用 与 模板。
- 字典树Trie 之 基础模板(插入,查找,删除)
- hdu 1251 (字典树 Trie 模板题)
- C++如何保留两位小数输出
- SQL 函数的使用
- 游戏角色
- spring boot hibernate
- tensorflow 学习笔记11 最简单的循环神经网络(RNN)
- TRIE(字典树)模板
- cs3s简单动画
- 【Sonar代码质量检测工具】
- hdu3308 线段树 区间合并,单点跟新
- jQuery源码之DOM操作
- 图片懒加载库echo.js源码学习
- 图像批量读取(opencv C++ python)
- 使用阿里云火车票查询接口案例——CSDN博客
- Java反射机制(动态获取类中的信息)