Hihocoder 1014 Trie树
来源:互联网 发布:php urlencode编码 编辑:程序博客网 时间:2024/05/22 16:59
- 第一次写
tire ,有一些小trick吧。。。感觉没有以前感觉的难了。
#include <cstdio>#include <string>#include<iostream>#include<vector>#include <stack>#include <queue>#include <map>#include <cstdlib>#include<string.h>#include <cstring>#include <ctime>#include <algorithm>#include <set>using namespace std;typedef long long ll;typedef pair<int, int>pii;typedef pair<ll, ll> pll;typedef pair<int, ll> pil;typedef vector<vector<ll> >vvi;typedef vector<ll> vi;struct node{ int cnt; node *next[26]; node() { cnt = 0; for (int i = 0; i < 26; i++)next[i] = NULL; }};const int MAXN = 200000 + 50;node head;void insert(char s[]){ node *tmp = &head; for (int i = 0; s[i]; i++) { if (tmp->next[s[i] - 'a'] == NULL)tmp->next[s[i] - 'a'] = new node; tmp = tmp->next[s[i] - 'a']; tmp->cnt++; }}int query(char s[]){ node *tmp = &head; int res = 0; for (int i = 0;s[i]; i++) { if (tmp->next[s[i] - 'a'] == NULL) { res = 0; break; } else { tmp = tmp->next[s[i] - 'a']; res = tmp->cnt; } } return res;}void init(){ head.cnt = 0; for (int i = 0; i < 26; i++) head.next[i] = NULL;}int main(){ init(); int n, m; scanf("%d", &n); char s[12]; while (n--) { scanf("%s", s); insert(s); } scanf("%d", &m); while (m--) { scanf("%s", s); printf("%d\n", query(s)); } //system("pause");}
0 0
- hihocoder 1014 Trie树 trie
- [hihoCoder 1014][Trie 树]Trie
- hihocoder 1014 trie树
- hihocoder#1014 : Trie树
- hihoCoder #1014 : Trie树
- [HiHoCoder]#1014 : Trie树
- hihoCoder#1014Trie树
- hihoCoder #1014 Trie树
- hihocoder-#1014 : Trie树
- hihoCoder 1014 : Trie树
- hihoCoder #1014 : Trie树
- hihocoder-#1014 : Trie树
- hihocoder #1014 trie 树
- hihoCoder - 1014 - Trie树
- hihoCoder 1014 Trie树
- hihocoder 1014 trie树
- HihoCoder 1014 : Trie树
- hihoCoder 1014Trie树
- MVC中使用Echart后台加载数据 实现饼图、折线图、全国地图数据,单击双击事件等
- 图的基本术语
- console.log改变样式
- SpringMVC工作原理
- Java内存分配与垃圾回收(二)
- Hihocoder 1014 Trie树
- android系统联系人查询流程
- java操作redis使用例子
- 图片轮播
- Sparse PCA 稀疏主成分分析
- Android沉浸式状态栏(透明状态栏)最佳实现
- java 读取文件路径中空格和中文的处理
- js怎么把数字金额转换中文大写金额
- 微信公众平台群发规则说明