poj 2001 -- Shortest Prefixes ( 字典树 )
来源:互联网 发布:java实现实时消息推送 编辑:程序博客网 时间:2024/04/25 21:24
给出一个字典 , 输出每一个单词唯一的最短前缀
数据不是很大, 排序暴力应该也可以处理 ,我这里用了Trie树
# include <cstdio># include <iostream># include <set># include <map># include <vector># include <list># include <queue># include <stack># include <cstring># include <string># include <cstdlib># include <cmath># include <algorithm>using namespace std ;char s [ 1100 ] [ 21 ] ;struct Dic{ int time ; //所经过的次数 int next [ 30 ] ;} dic [ 1000000 ] = { 0 } ;int cnt ;void addword ( char * s ){ int len = strlen ( s ) ; int num = 0 ; for ( int i = 0 ; i < len ; i ++ ) { int c = s [ i ] - 'a' ; if ( dic [ num ] . next [ c ] ) { num = dic [ num ] . next [ c ] ; dic [ num ] . time ++ ; } else { dic [ num ] . next [ c ] = cnt ; num = cnt ++ ; dic [ num ] . time ++ ; } }}void findword ( char * s ){ int len = strlen ( s ) ; int num = 0 ; for ( int i = 0 ; i < len ; i ++ ) { int c = s [ i ] - 'a' ; if ( dic [ num ] . time == 1 ) break ; putchar ( s [ i ] ) ; num = dic [ num ] . next [ c ] ; }}int main ( ){ cnt = 1 ; int n = 0 ; while ( gets ( s [ n ] ) ) { addword ( s [ n ++ ] ) ; } dic [ 0 ] . time = n ; for ( int i = 0 ; i < n ; i ++ ) { printf ( "%s " , s [ i ] ) ; findword ( s [ i ] ) ; printf ( "\n" ) ; }}
- POJ 2001:Shortest Prefixes(字典树)
- poj 2001 -- Shortest Prefixes ( 字典树 )
- POJ 2001-Shortest Prefixes(字典树)
- POJ 2001 Shortest Prefixes(字典树)
- POJ 2001 Shortest Prefixes(字典树)
- poj 2001 Shortest Prefixes(字典树)
- POJ - 2001 - Shortest Prefixes (字典树!!)
- POJ 2001 Shortest Prefixes(字典树)
- POJ 2001 Shortest Prefixes(字典树)
- POJ 2001 Shortest Prefixes(字典树)
- POJ 2001 Shortest Prefixes(字典树)
- 【POJ】2001 - Shortest Prefixes(字典树)
- POJ 2001 Shortest Prefixes(字典树)
- poj 2001 Shortest Prefixes(字典树)
- poj 2001Shortest Prefixes(字典树)
- poj 2001 Shortest Prefixes(字典树)
- POJ 2001 Shortest Prefixes ( 字典树 )
- POJ 2001 Shortest Prefixes 字典树Trie
- “天网”降临 机器人或将崛起?
- ARM服务器厂商提供移植x86代码的云服务
- APUE学习笔记——第四章 文件和目录
- CareerCup 1.3
- 轻松搭建Windows8云平台开发环境
- poj 2001 -- Shortest Prefixes ( 字典树 )
- CSS兼容性、CSS Hack
- HDU2023 求平均成绩
- android bitmap drawable byte[]
- 关于windows多字节和宽字节函数的总结:
- 向导界面的开发
- SPRING.NET 1.3.2 学习15--事件注入
- 用友谢志华:云平台 看得见的未来
- js获取项目根路径