模板 Trie树

code:

#include <iostream>
#include <cstdio> using namespace std; const int wx=20017; inline int read(){
int sum=0,f=1; char ch=getchar();
while(ch<'0'||ch>'9'){if(ch=='-')f=-1; ch=getchar();}
while(ch>='0'&&ch<='9'){sum=(sum<<1)+(sum<<3)+ch-'0'; ch=getchar();}
return sum*f;
} struct Trie{
int tr[wx][27];
int cnt;
int flag[wx]; void insert(char *s){
int p=0;
for(int i=0;s[i];i++){
int k=s[i]-'a';
if(!tr[p][k])tr[p][k]=++cnt;
p=tr[p][k];
}
flag[p]=1;
} bool query(char *s){
int p=0;
for(int i=0;s[i];i++){
int k=s[i]-'a';
if(!tr[p][k])return false;
p=tr[p][k];
}
if(flag[p])return true;
return false;
}
}Trie; int n;
int m;
char c[wx]; int main(){
n=read();
for(int i=1;i<=n;i++)
scanf("%s",c),Trie.insert(c);
m=read();
for(int i=1;i<=n;i++)
scanf("%s",c),printf("%d\n",Trie.query(c));
return 0;
}

最新文章

  1. Responsive设计——不同设备的分辨率设置
  2. 将表里的数据批量生成INSERT语句的存储过程 继续增强版
  3. CodeForces 670D1 暴力或二分
  4. java GUI画满天星
  5. Python编程指南 chapter 1
  6. Android微信SDK API 调用教程
  7. logcat使用
  8. 每天一道题:LeetCode
  9. MATLAB中imshow()和image()
  10. photoshop自动切图
  11. python学习笔记之四:条件,循环和其他语句
  12. MARK DOWN 书写格式说明
  13. Spring Cloud构建微服务架构(五)服务网关
  14. html页面边框的另一种写法
  15. [原]Jenkins(九)---jenkins分别发布多个项目到多个远程主机
  16. ThinkPHP实用项
  17. 做了一个可定制的英文记忆字典 - RDict
  18. 上海期货交易所CTP行情和交易接入
  19. 使用Git进行本地提交后,未上传提交,却不小心删除了本地提交或提交所在分支,怎么办?????
  20. zabbix自动发现与监控内存和CPU使用率最高的进程,监测路由器

热门文章

  1. sass实用知识点
  2. 谈谈开发文本转URL小工具的思路
  3. IEEE 2012 PHM数据挑战赛
  4. 【276】◀▶ Python 字符串函数说明
  5. [patl2-001]紧急救援
  6. socket多线程方式案例
  7. gearman client的doBackground 与doNormal方法的区别
  8. Zbar算法流程介绍
  9. PCL—点云滤波(初步处理)
  10. 怎么把网页保存为pdf文件