字典树。

 #include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <stack>
using namespace std; #define TRIEN 56 typedef struct Trie {
Trie *next[TRIEN];
Trie() {
for (int i=; i<TRIEN; ++i)
next[i] = NULL;
}
} Trie; Trie *root;
int nn; Trie *create(const char str[], Trie *r) {
int i = , id;
Trie *p = r, *q; if (str[i] == 'A')
id = ;
else if (str[i] == 'J')
id = ;
else if (str[i] == 'Q')
id = ;
else if (str[i] == 'K')
id = ;
else if (str[i]=='' && ++i)
id = ;
else
id = str[i] - '';
if (str[i+]=='D')
id += ;
if (str[i+]=='H')
id += ;
if (str[i+]=='S')
id += ;
if (p->next[id] == NULL) {
q = new Trie();
p->next[id] = q;
++nn;
}
p = p->next[id]; return p;
} void del(Trie *t) {
if (t == NULL)
return ;
for (int i=; i<TRIEN; ++i)
del(t->next[i]);
delete t;
} int main() {
int n, m;
string tmp;
stack<string> st;
Trie *r; while (scanf("%d", &n)!=EOF && n) {
root = new Trie();
nn = ;
while (n--) {
scanf("%d", &m);
while (m--) {
cin >> tmp;
st.push(tmp);
}
r = NULL;
while (!st.empty()) {
tmp = st.top();
st.pop();
if (r == NULL)
r = create(tmp.data(), root);
else
r = create(tmp.data(), r);
}
}
printf("%d\n", nn);
del(root);
} return ;
}

最新文章

  1. 绘制相切弧arcTo
  2. PHP中常用的字符串格式化函数总结
  3. ios NSNotificationCenter 收到通知后的执行线程
  4. 程序员是怎么炼成的---OC题集--练习答案与题目(3)
  5. Linux同步机制 - 多线程开发总结
  6. [Everyday Mathematics]20150113
  7. 【转】创业C2C(Copy To China):停车位共享APP,用户、市政能够买账?
  8. Oracle 11gR2 RAC Votedisk and OCR Diskgroup Recovery
  9. android学习一些帖子
  10. .NET读写Excel工具Spire.Xls使用(1)入门介绍
  11. Mac下svn的使用
  12. DRF框架之认证组件用法(第四天)
  13. esxi网络中虚拟机的相关操作
  14. git小笔记
  15. Redis入门及主从配置
  16. xamarin android 需要获取apk签名工具
  17. 基于设备树的TQ2440 DMA学习(4)—— client驱动
  18. kafka集群监控工具之三--kafka Offset Monitor
  19. 【转】Stack Overflow研发副总裁:.NET技术并不差,合适自己就好
  20. ubuntu下访问其他盘出现挂在错误解决办法

热门文章

  1. [转] linux下查看文件编码及修改编码
  2. [转] Mac 下 PostgreSQL 的安装与使用
  3. java中关于public class
  4. C#调用百度云存储接口上传文件
  5. 1 加到 100 的 时间复杂度 C#.
  6. js正则实现用户输入银行卡号的控制及格式化
  7. linq学习笔记:将List&lt;T&gt; 转换为 Dictionary&lt;T Key,T Value&gt;
  8. C#获取类中所有方法
  9. 关于UIScrollView属性和方法的总结
  10. Oracle IN 传递字符串参数查询失效