POJ3630 - Phone List - 二叉树
2014-08-06 11:33
204 查看
#include<stdio.h> #include<string.h> char tmp[50]; int flag; struct tree { char num[50]; tree *l,*r; tree() { l=r=NULL; memset(num,0,sizeof(num)); } }; int min(int a,int b) { return a<b?a:b; } void set(char *s,tree *p) { int t=min(strlen(p->num),strlen(s)); if(strncmp(s,p->num,t)==0) { flag=1; } else if(strcmp(s,p->num)<0) { if(p->l==NULL) { p->l=new tree; strcpy(p->l->num,s); } else { set(tmp,p->l); } } else if(strcmp(s,p->num)>0) { if(p->r==NULL) { p->r=new tree; strcpy(p->r->num,s); } else { set(tmp,p->r); } } } int main() { int n,t; scanf("%d",&n); while(n--) { tree *root=NULL; flag=0; scanf("%d",&t); while(t--) { scanf("%s",tmp); if(flag==0) { if(root==NULL) { root=new tree; strcpy(root->num,tmp); } else { set(tmp,root); } } } if(flag==1) { puts("NO"); } else { puts("YES"); } } }
相关文章推荐
- HDU 1671 Phone List 二叉树水题 数组建树法
- HDU 1671 Phone List 二叉树水题 数组建树法
- POJ3630 Phone List(字典树)
- POJ3630 Phone List
- POJ3630 Phone List(字典树)
- poj3630 Phone List
- POJ3630(Trie树) PHONE LIST 算法转载
- C++——字典树(Trie树)例题——Phone List(POJ3630)(HDU1671)
- 【poj3630】Phone List 【Nordic 2007】
- poj3630 Phone List
- Phone List(Poj3630)
- Phone List(poj3630,字典树)
- POJ3630:Phone List——题解
- poj3630 Phone List 字典树
- POJ3630 Phone List+字典数三种申请内存的方法--动态、静态、半动态
- HDU1671 poj3630 Phone List 字典树
- poj3630 Phone List与Trie
- poj3630(Phone List+字典树)
- ZOJ2876 POJ3630 HDU1671 Phone List,静态Trie树
- POJ1056 IMMEDIATE DECODABILITY & POJ3630 Phone List