#include<cstdio>
#include<iostream>
#include<string>
#include<cstdlib>
#define maxn 2
#include<queue>
using namespace std;
struct
Tri
{

Tri*next[maxn];
int
num;
};

Tri *root;
void
buildTri(string ss)//建树的过程是一个动态的过程 动插的过程
{
Tri *p=root,*q;
for
(int i=;i<ss.size();i++)
{

int
id=ss[i]-'0';
if
(p->next[id]==NULL)
{

q=(Tri*)malloc(sizeof(Tri));
q->num=;
for
(int j=;j<maxn;j++) q->next[j]=NULL;
p->next[id]=q;
p=p->next[id];
}

else
p=p->next[id],p->num++;
}

p->num=-;// 作为结束的标志
}
int
findTri(string ss)
{

Tri *p=root,*q;
for
(int i=;i<ss.size();i++)
{

int
id=ss[i]-'0';
p=p->next[id];
if
(p==NULL) return;
if
(p->num==-) return -;
}

return
-;
}

void
del(Tri *root)
{

Tri *zz=root;
if
(zz==NULL) return;
for
(int i=;i<maxn;i++)
{

if
(zz->next[i]!=NULL) del(zz->next[i]);
}

free(zz);
}

int
main()
{

int
Case=;
string ss;
queue<string> fuck;
while
(cin>>ss)
{

if
(ss=="9")
{

int
flag=;
root=(Tri *)malloc(sizeof(Tri));
for
(int i=;i<maxn;i++) root->next[i]=NULL;
root->num=;
while
(!fuck.empty())
{

string temp;
temp=fuck.front();
fuck.pop();
if
(findTri(temp)==-)
{

flag=;
break
;
}

buildTri(temp);
}

if
(flag) printf("Set %d is immediately decodable\n",++Case);
else
printf("Set %d is not immediately decodable\n",++Case);
del(root);
continue
;
}

fuck.push(ss);
}

return
;
}

最新文章

  1. atitit.压缩算法 ZLib ,gzip ,zip 最佳实践 java .net php
  2. cocos2d-x之物理引擎之碰撞监测
  3. HoloLens开发手记 - Unity之Persistence 场景保持
  4. CentOS6.4_x86_开关机查看
  5. P1023 奶牛的锻炼
  6. DEDECMS采集规则,过滤,替换文章内的部分内容
  7. JS 移动动画
  8. [Mac] mac linux 多线程下载利器 axel
  9. vue input输入框长度限制
  10. android TabLayout设置选中标签字体加粗功能
  11. Game Development Patterns and Best Practices (John P. Doran / Matt Casanova 著)
  12. 颜色空间之CIE2000色差公式
  13. Cocos2d-x CCControlPotentiometer之圆形音量button及特效
  14. vue生产环境清除console.log
  15. cakephp 利用Pushapi扩展 进行app 消息推送
  16. C程序设计语言习题(3-5)
  17. 关于Nginx启动成功,浏览器不能访问的解决办法
  18. 404 Note Found 队-Alpha4
  19. L1正则化与L2正则化的理解
  20. asp.net viewstate 数据大导致错误

热门文章

  1. Xshell登录Vagrant方式
  2. vi下如何配置自动更新标签(tags)?
  3. kotlin泛型基本使用
  4. 关于Python正则表达式findall函数问题详解
  5. JAVA 基础编程练习题18 【程序 18 乒乓球赛】
  6. 将SSRF升级为RCE(AWS环境)
  7. unicode 字符范围
  8. 学习Yii(3)
  9. 用Python搞出自己的云词图 | 【带你装起来】
  10. find the mincost route【无向图最小环】