题意翻译

本题有多组数据.每组数据给出一列以"9"结尾的仅包含'0'和'1'的字符串,如果里面有一个是另一个的子串,输出"Set &case is not immediately decodable",否则输出"Set &case is immediately decodable".换行. case从1开始计数.

感谢@Fuko_Ibuki 提供的翻译

题目描述

PDF

输入输出格式

输入格式:

输出格式:

输入输出样例

输入样例#1:
复制

  1. 01
  2. 10
  3. 0010
  4. 0000
  5. 9
  6. 01
  7. 10
  8. 010
  9. 0000
  10. 9
输出样例#1: 复制

  1. Set 1 is immediately decodable
  2. Set 2 is not immediately decodable

题解

算是比较简单的Trie题了吧。

首先因为懒得特殊处理,就先按长度排个序,然后从小到大枚举每个串,并且在结尾打标记。

如果经过了一个打过标记的点,说明之前有串是它的前缀。

  1. /*
  2. qwerta
  3. UVA644 Immediate Decodability
  4. Accepted
  5. 代码 C++,0.99KB
  6. 提交时间 2018-10-19 15:04:58
  7. 耗时/内存
  8. 50ms, 0KB
  9. */
  10. #include<algorithm>
  11. #include<iostream>
  12. #include<cstring>
  13. #include<cstdio>
  14. using namespace std;
  15. string s[];
  16. bool cmp(string qaq,string qwq){
  17. return qaq.length()<qwq.length();
  18. }
  19. struct emm{
  20. int nxt[],tag;
  21. }a[];
  22. int main()
  23. {
  24. //freopen("a.in","r",stdin);
  25. int t=;
  26. while(++t&&cin>>s[])
  27. {
  28. int n=;
  29. do{if(s[n][]=='')break;
  30. }while(cin>>s[++n]);
  31. n--;
  32. sort(s+,s+n+,cmp);
  33. int cnt=;
  34. memset(a,,sizeof(a));
  35. int flag=;
  36. for(int c=;c<=n&&!flag;++c)
  37. {
  38. int k=;
  39. for(int i=;i<s[c].length();++i)
  40. {
  41. if(!a[k].nxt[s[c][i]-''])
  42. a[k].nxt[s[c][i]-'']=++cnt;
  43. k=a[k].nxt[s[c][i]-''];
  44. if(a[k].tag)flag++;
  45. }
  46. a[k].tag=;
  47. }
  48. if(!flag)
  49. printf("Set %d is immediately decodable\n",t);
  50. else
  51. printf("Set %d is not immediately decodable\n",t);
  52. }
  53. return ;
  54. }

「UVA644」 Immediate Decodability(Trie的更多相关文章

  1. 「WC2018」州区划分(FWT)

    「WC2018」州区划分(FWT) 我去弄了一个升级版的博客主题,比以前好看多了.感谢 @Wider 不过我有阅读模式的话不知为何 \(\text{LATEX}\) 不能用,所以我就把这个功能删掉了. ...

  2. 「NOI2018」屠龙勇士(EXCRT)

    「NOI2018」屠龙勇士(EXCRT) 终于把传说中 \(NOI2018D2\) 的签到题写掉了... 开始我还没读懂题目...而且这题细节巨麻烦...(可能对我而言) 首先我们要转换一下,每次的 ...

  3. 「SDOI2016」储能表(数位dp)

    「SDOI2016」储能表(数位dp) 神仙数位 \(dp\) 系列 可能我做题做得少 \(QAQ\) \(f[i][0/1][0/1][0/1]\) 表示第 \(i\) 位 \(n\) 是否到达上界 ...

  4. # 「NOIP2010」关押罪犯(二分图染色+二分答案)

    「NOIP2010」关押罪犯(二分图染色+二分答案) 洛谷 P1525 描述:n个罪犯(1-N),两个罪犯之间的仇恨值为c,m对仇恨值,求怎么分配使得两件监狱的最大仇恨值最小. 思路:使最大xxx最小 ...

  5. 「杂烩」精灵魔法(P1908逆序对弱化版)

    「杂烩」精灵魔法(P1908逆序对弱化版) 题面: 题目描述 \(Tristan\)解决了英灵殿的守卫安排后,便到达了静谧的精灵领地--\(Alfheim\) .由于$ Midgard$ 处在$ Al ...

  6. Note -「多项式」基础模板(FFT/NTT/多模 NTT)光速入门

      进阶篇戳这里. 目录 何为「多项式」 基本概念 系数表示法 & 点值表示法 傅里叶(Fourier)变换 概述 前置知识 - 复数 单位根 快速傅里叶正变换(FFT) 快速傅里叶逆变换(I ...

  7. LOJ #2721. 「NOI2018」屠龙勇士(set + exgcd)

    题意 LOJ #2721. 「NOI2018」屠龙勇士 题解 首先假设每条龙都可以打死,每次拿到的剑攻击力为 \(ATK\) . 这个需要支持每次插入一个数,查找比一个 \(\le\) 数最大的数(或 ...

  8. 「bzoj1925」「Sdoi2010」地精部落 (计数型dp)

    「bzoj1925」「Sdoi2010」地精部落---------------------------------------------------------------------------- ...

  9. 「NOIP2013」「LuoguP1967」货车运输(最大生成树 倍增 LCA

    题目描述 AA国有nn座城市,编号从 11到nn,城市之间有 mm 条双向道路.每一条道路对车辆都有重量限制,简称限重.现在有 qq 辆货车在运输货物, 司机们想知道每辆车在不超过车辆限重的情况下,最 ...

随机推荐

  1. php计算两个经纬度地点之间的距离(转)

    php计算两个指定的经纬度地点之间的距离,这个在做计算给定某个地点的经纬度,计算其附近的商业区,以及给定地点与附近各商业区之间的距离的时候,还是用的到的.下面是具体的函数代码以及用法示例. 关于如何获 ...

  2. Fakeapp2.2安装,使用简记--------------转载自iJessie

    原文:https://www.cnblogs.com/iJessie/p/8568377.html 1,硬件和操作系统,支持cuda的Nvidia显卡,8G及以上的内存,Windows10 x64(推 ...

  3. 宜信开源|微服务任务调度平台SIA-TASK入手实践

    引言 最近宜信开源微服务任务调度平台SIA-TASK,SIA-TASK属于分布式的任务调度平台,使用起来简单方便,非常容易入手,部署搭建好SIA-TASK任务调度平台之后,编写TASK后配置JOB进行 ...

  4. 【JavaSE】Java问题总结

    使用BufferedInputStream时OutOfMemoryError异常 eclipse Luna安装subversion(SVN) 使用BufferedInputStream时OutOfMe ...

  5. android假设给TextView或EditText的email链接加下划线,并在点击在email连接上能够弹框显示

    怎样把textview的一些文字加上背景色: Spannable str = new SpannableString("#fdsfdfsdfdsfd#"); Matcher mat ...

  6. c# 根据读取的配置信息删除某个目录及下所有文件

    #region 定时删除目录文件 /// <summary> /// 定时删除目录文件 /// northeasttycoon /// </summary> /// <p ...

  7. 【BZOJ3796】Mushroom追妹纸 二分+hash

    [BZOJ3796]Mushroom追妹纸 Description Mushroom最近看上了一个漂亮妹纸.他选择一种非常经典的手段来表达自己的心意——写情书.考虑到自己的表达能力,Mushroom决 ...

  8. 破解powerdesigner教程

    点Tool

  9. 销售订单增强字段 bapi更新

    如果增强字段在销售订单抬头(vbak)上,则要将增强字段一并append到如下四个表/结构中: VBAKKOZ VBAKKOZX BAPE_VBAK BAPE_VBAKX 在行项目(vbap)上: V ...

  10. Gemini.Workflow 双子工作流入门教程一:定义流程:流程图属性

    简介: Gemini.Workflow 双子工作流,是一套功能强大,使用简单的工作流,简称双子流,目前配套集成在Aries框架中. 下面介绍本篇教程:流程定义:流程图属性. 步骤一:在流程管理的流程定 ...