( ̄y▽ ̄)~ 智能手机II
( ̄y▽ ̄)~ 智能手机II
比如:
1. LhBoy 911
2. bobo 10086
3. hzz 10010
当你输入其中任何一个人的号码时,都只会唯一的显示一个人的信息的、
如果这个通讯录多增加一组:4. Orz 1001011 ,则,当你输入10010的时候,所查找到的联系人有hzz和Orz。
现在问题来了,给你一个通讯录,问你在通过手机号码查询时,所查询出来的联系人的信息是否唯一,唯一的话输出YES,否则输出NO。
*内存超限的话,就尝试着释放内存把( ̄y▽ ̄)~~
每一组测试案例先输入一个整数N( 1 <= n <= 10000),表示通讯录有N条信息。
接下来有N行,每一行表示各个联系人的电话号码,每一个电话号码最多10位数。
2
3
811
87625999
81125426
5
113
12340
123440
10086
98346
NO
YES 解法:
大同小异,用字典树做,如果用的是链式的字典树还需要释放内存空间,用数组形式的字典数就不需要、
代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h> using namespace std;
typedef struct Trie
{
struct Trie*Node[];
int num;
}Trie_Node;
Trie_Node*Head; Trie_Node* New_Node()
{
Trie_Node*H;
int i;
H=(Trie_Node*)malloc(sizeof(Trie_Node));
for(i=;i<=;i++)
H->Node[i]=NULL;
H->num=;
return H;
} void Free(Trie_Node* a)
{
if(a==NULL) return ; //释放内存
else
{
for(int i=;i<;i++)
Free(a->Node[i]);
}
free(a);
}
int Insert_Trie(char STR[])
{
Trie_Node *t;
Trie_Node *h=Head;
int i,Len=strlen(STR),SIGN,j=;
for(i=;i<Len;i++)
{
SIGN=STR[i]-'';
if(h->Node[SIGN]==NULL)
{
t=New_Node();
h->Node[SIGN]=t;
j=;
}
h=h->Node[SIGN];
if(h->num){j=;break;}
if(i==Len-)h->num=;
}
return j;
}
int main()
{
int T,N,i,j,SIGN;
char STR[];
scanf("%d",&T);
while(T--)
{
Head=New_Node();
scanf("%d",&N);
SIGN=;
for(i=;i<N;i++)
{
scanf(" %s",STR);
j=Insert_Trie(STR);
if(j==)SIGN=;
}
if(SIGN)printf("NO\n");
else printf("YES\n");
Free(Head);
}
return ;
}
( ̄y▽ ̄)~ 智能手机II的更多相关文章
- (╭ ̄3 ̄)╭ 小希的迷宫II
		
(╭ ̄3 ̄)╭ 小希的迷宫II TimeLimit: 2000/1000 MS (Java/Others) MenoryLimit: 65536/32768 K (Java/Others) 64-b ...
 - ACM数论之旅16---母函数(又名生成函数)(痛并快乐着(╭ ̄3 ̄)╭)
		
(前排出售零食瓜子) 前言: 母函数是个很难的东西,难在数学 而ACM中所用的母函数只是母函数的基础 应该说除了不好理解外,其他都是非常简单的 母函数即生成函数,是组合数学中尤其是计数方面的一个重要理 ...
 - (暂时弃坑)(半成品)ACM数论之旅18---反演定理 第二回 Mobius反演(莫比乌斯反演)((づ ̄3 ̄)づ天才第一步,雀。。。。)
		
莫比乌斯反演也是反演定理的一种 既然我们已经学了二项式反演定理 那莫比乌斯反演定理与二项式反演定理一样,不求甚解,只求会用 莫比乌斯反演长下面这个样子(=・ω・=) d|n,表示n能够整除d,也就是d ...
 - [luoguP1010] 幂次方 ^(* ̄(oo) ̄)^
		
传送门 递归.. 代码 #include <cstdio> int n; int bit[15]; inline void solve(int x) { int i, f = 0; if( ...
 - 樱花漫地集于我心,蝶舞纷飞祈愿相随---总结            顕出:void-sampling  显示:void-sampling
		
知识点: 分支语句,四则运算,( ̄y▽ ̄)~* 实验过程中遇到的问题及解决方法: 忘记换行,忘记代码,输入法切换(´∀`*) 暂时还得照书写,*★,°*:.☆\( ̄▽ ̄)/$:*.°★* 实验心得体会 ...
 - 樱花漫地集于我心,蝶舞纷飞祈愿相随---总结    适者:survival of the fittest 适者:survival of the fittest
		
编程什么的最讨厌了,总是忘记一些乱七八糟的,看起来并没有什么乱用的,比如(::“<>{}, 还有交作业的时候总是忽略大小写<(▰˘◡˘▰)> 马马虎虎莫名其妙就错了,其实大小写 ...
 - 樱花漫地集于我心,蝶舞纷飞祈愿相随            発生:genesis 发生:genesis
		
朱念齐,学号160809404(这些其实并没有什么乱用)唉( ̄y▽ ̄)~* 正文 鬼族后裔,原是露格尼卡王国的子民,在王立比布利亚学园任职魔法使拥有分别为: 拥有书库: 书库:傲慢(Superbia) ...
 - 当前主流的安卓APP开发IDE
		
什么是主流的开发安卓APP的方式? 我是去年4月份接触的Android开发,因此特别有感触,可以明显的感受到安卓APP主流开发方式的改变. 去年,2015年年初,各大安卓开发群大部分大牛在用Eclip ...
 - Visual Studio 当前不会命中断点的问题
		
这个问题一般有两个版本 1.当前不会命中断点,还没有为该文档加载任何符号. 2.当前不会命中断点,源代码与原始版本不同. 要解决第一个问题,就要了解一种文件格式“PDB(Program DataBas ...
 
随机推荐
- 【AndroidStudio】关于SVN的相关配置简介
			
AndroidStudio 的SVN 安装和使用方法与我以前用的其他IDE 都有很大差别,感觉特麻烦,网上相关资料很少,貌似现在 Git 比较流行,之前有用过 github 但是他只能是开源项目免费, ...
 - python向服务器发送邮件事例
			
import osimport sysimport re __author__ = 'xiaoming' import requestststr = '<div>\n<ul>\ ...
 - Python学习笔记——基础篇【第六周】——hashlib模块
			
常用模块之hashlib模块 用于加密相关的操作,3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法 import ...
 - Java 并发 线程的优先级
			
Java 并发 线程的优先级 @author ixenos 低优先级线程的执行时刻 1.在任意时刻,当有多个线程处于可运行状态时,运行系统总是挑选一个优先级最高的线程执行,只有当线程停止.退出或者由于 ...
 - As input tri-stated
			
前些日子正好看到了riple兄的<一波三折--危险的"未分配"引脚>一文,颇受启发.正好最近也遇上了类似的问题,也可谓一波三折,还好最后摆平了,要不煮熟的鸭子可就要飞了 ...
 - MocorDroid编译工程快速建立编译环境
			
function sprdLunch(){ declare -a arrProj arrProj=`find out/target/product -name previous_build ...
 - mac上设置sudo不要密码
			
觉得每次sudo都需要设置密码太过麻烦,于是折腾了一番,谁知走了一番弯路记录下来. 以下是网上找到的步骤 chmod u+w /etc/sudoers 给当前用户增加写权限 vi /etc/sudo ...
 - 自动化辅助工具Firebug和Firepath的安装
			
1.安装firefox浏览器,点击主菜单,选择“附加组件” 2.搜索Firebug和firepath点击安装 3.安装后点击浏览器的主菜单-web开发者-firebug即可打开 4.或者在页面右键选择 ...
 - HDU 2516 取石子游戏 斐波纳契博弈
			
斐波纳契博弈: 有一堆个数为n的石子,游戏双方轮流取石子,满足: 1)先手不能在第一次把所有的石子取完: 2)之后每次可以取的石子数介于1到对手刚取的石子数的2倍之间(包含1和对手刚取的石子数的2倍) ...
 - 转:条件变量、pthread_cond_init
			
1.初始化条件变量pthread_cond_init #include <pthread.h>int pthread_cond_init(pthread_cond_t *cv,const ...