POJ3630 Phone List 题解&代码
来源:互联网 发布:颜真卿大有而不自乎 编辑:程序博客网 时间:2024/06/14 15:16
第一次用vim写代码…感觉爽爽哒,终于明白很多代码为什么会有诡异的空格什么的…习惯
vim的快捷操作几乎全部是和单词相关,也就是说如果一句代码中间没有空格…vim的优势就完全消失了
在下的习惯一时半会改不过来…嘛,不过既然看到了其道理自然是要努力改的
裸的trie树,最后加上一遍dfs,dfs检验是不是有一条路径上同时有两个单词结尾,如果有输出NO,反之则反
#include<iostream>#include<cstdio>#include<cstring>using namespace std;const int maxl=100005;int T,n,tot,ch[maxl][20],flag[maxl],Flag;char s[20];int newnode(int x,int temp){ if(temp!=-1)ch[x][temp]=++tot; for(int i=0;i<10;i++)ch[tot][i]=0; flag[tot]=0;}void Insert(int len){ int x=0,p=0,temp; while(p<len) { temp=s[p]-'0'; if(!ch[x][temp])newnode(x,temp); x=ch[x][temp]; p++; } flag[x]=1;}void dfs(int x){ if(Flag)return; if(flag[x]>1)Flag=true; for(int i=0;i<10;i++) if(ch[x][i]) flag[ch[x][i]]+=flag[x],dfs(ch[x][i]);}int main(void){ scanf("%d",&T); while(T--) { Flag=false; tot=0; newnode(0,-1); scanf("%d",&n); for(int i=0;i<n;i++) { scanf("%s",s); Insert(strlen(s)); } dfs(0); if(Flag)printf("NO\n"); else printf("YES\n"); } return 0;}
0 0
- POJ3630 Phone List 题解&代码
- poj3630 phone list
- poj3630 Phone List
- POJ3630 Phone List
- POJ3630 Phone List
- poj3630 Phone List
- POJ3630 Phone List
- poj3630 Phone List
- Phone List POJ3630
- poj3630/hdu1671 Phone List
- poj3630(Phone List+字典树)
- Phone List(poj3630,字典树)
- poj3630 Phone List与Trie
- POJ3630 - Phone List - 二叉树
- POJ3630 Phone List(字典树)
- poj3630 Phone List 字典树
- POJ3630 Phone List(字典树)
- 【poj3630】Phone List 【Nordic 2007】
- 贝叶斯和频率的哲思
- JAVA开发环境配置
- VS2010中如何添加“依赖”、“库目录”、“包含目录”
- [HDU 2896] - 病毒侵袭 ac 自动机
- [转载] Java字符串格式化
- POJ3630 Phone List 题解&代码
- 树结点,与度=边
- python ipython notebook教程
- 欢迎使用CSDN-markdown编辑器
- 通过JDBC 连接MySQL问题
- ZOJ 3919 Ellipse(数学)
- 用正确的姿势使用volley
- HDU A Simple Problem with Integers
- zip