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