Phone List
来源:互联网 发布:光谷软件新城 编辑:程序博客网 时间:2024/06/01 07:27
http://acm.hdu.edu.cn/showproblem.php?pid=1671
#include<iostream>
using namespace std;
int ok;
struct trie
{
int flag;
trie *next[10];
};
trie *root;
trie *newtrie()
{
trie *t;
t=(trie*)malloc(sizeof(trie));
memset(t,0,sizeof(trie));
return t;
}
void Insert(char *ch)
{
if(ok==0)
return;
int i;
trie *s;
s=root;
for(i=0;ch[i];i++)
{
if(s->next[ch[i]-'0'])
{
s=s->next[ch[i]-'0'];
if(s->flag)
{
ok=0;
return ;
}
}
else
{
s->next[ch[i]-'0']=newtrie();
s=s->next[ch[i]-'0'];
}
}
s->flag=1;
for(i=0;i<10;i++)
{
if(s->next[i])
{
ok=0;
return;
}
}
}
void delete_tree(trie *root)
{
int i;
for(i=0;i<10;i++)
if(root->next[i]!=NULL)
delete_tree(root->next[i]);
delete root;
}
int main()
{
// freopen("C:\\Users\\John\\Desktop\\hi.txt","r",stdin);
int t,n;
char c[20];
cin>>t;
while(t--)
{
cin>>n;
ok=1;
root=newtrie();
while(n--)
{
cin>>c;
Insert(c);
}
if(ok)
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
delete_tree(root);
}
return 0;
}
- Phone List
- Phone List
- Phone List
- Phone List
- Phone List
- Phone List
- Phone List
- Phone List
- Phone List
- Phone List
- Phone List
- Phone List
- Phone List
- Phone List
- Phone List
- Phone List
- Phone List
- Phone List
- 分解因式
- 解题报告:硬币排成线 II
- LeetCode Reverse Linked List II
- 2015070103 - EffactiveJava笔记 - 第47条 了解和使用类库(2)
- 平方根的高效求解
- Phone List
- 卫星图像数据下载地址
- #include <algorithm> 常用函数
- 读书笔记(穷查理宝典2)
- Java Servlet 技术简介
- oracle 11.2 在启动的情况,再次dbstart会先shut abort然后start
- Linux loop设备
- 高效实现整型数字转字符串int2str
- 简易免登陆功能的实现(不连接数据库)