博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ 2503 Babelfish
阅读量:5323 次
发布时间:2019-06-14

本文共 1428 字,大约阅读时间需要 4 分钟。

字典树,WA;

----------------------------------------------------

# include 
# include
# define LEN 12char buf[2 * LEN], str[LEN];struct word{ char a[LEN];} ;struct tree{ tree *node[26]; char bj; word *pw; tree() { for (int i = 0; i < 26; ++i) node[i] = NULL; bj = 1; pw = NULL; }} *root;void build(tree *p, char *s){ char c = (*s) - 'a'; if ((p->node[c]) == NULL) { p->node[c] = new tree; } p = p->node[c]; if (s[2]) build(p, s+1); else { p->bj = 0; if (p->pw == NULL){ p->pw = new word; sscanf(buf, "%s", p->pw);} }}void visit(tree *p, char *s){ char c = (*s) - 'a'; p = p->node[c]; if (p == NULL) puts("eh"); else if (s[2]) visit(p, s+1); else if (p->bj==0 && !s[2]) puts(p->pw->a); else puts("eh");}void release(tree *p){ for (int i = 0; i < 26; ++i) if (p->node[i]) release(p->node[i]); delete p->pw; delete p;}void init(void){ root = new tree; while (1) { gets(buf); if (!buf[0]) return ; sscanf(buf, "%*s%s", str); build(root, str); }}void solve(void){ while (~scanf("%s", str)) { visit(root, str); } release(root);}int main(){ init(); solve(); return 0;}

----------------------------------------------------

转载于:https://www.cnblogs.com/JMDWQ/archive/2012/07/12/2588488.html

你可能感兴趣的文章
Oracle MySQL yaSSL 不明细节缓冲区溢出漏洞2
查看>>
windows编程ASCII问题
查看>>
.net webService代理类
查看>>
C#高级编程笔记(一)
查看>>
Code Snippet
查看>>
MFC模态对话框程序不响应OnIdle
查看>>
Node.js Express项目搭建
查看>>
zoj 1232 Adventure of Super Mario
查看>>
Oracle 序列的应用
查看>>
1201 网页基础--JavaScript(DOM)
查看>>
组合数学 UVa 11538 Chess Queen
查看>>
oracle job
查看>>
Redis常用命令
查看>>
EFCode First 导航属性
查看>>
XML学习笔记(二)-- DTD格式规范
查看>>
I - Agri-Net - poj 1258
查看>>
git 的回退
查看>>
IOS开发学习笔记026-UITableView的使用
查看>>
Confluence配置数据库
查看>>
Java锁机制(一)synchronized
查看>>