题意翻译

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

感谢@Fuko_Ibuki 提供的翻译

题目描述

PDF

输入输出格式

输入格式:

输出格式:

输入输出样例

输入样例#1:
复制

01
10
0010
0000
9
01
10
010
0000
9
输出样例#1: 复制

Set 1 is immediately decodable
Set 2 is not immediately decodable

题解

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

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

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

 /*
qwerta
UVA644 Immediate Decodability
Accepted
代码 C++,0.99KB
提交时间 2018-10-19 15:04:58
耗时/内存
50ms, 0KB
*/
#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
string s[];
bool cmp(string qaq,string qwq){
return qaq.length()<qwq.length();
}
struct emm{
int nxt[],tag;
}a[];
int main()
{
//freopen("a.in","r",stdin);
int t=;
while(++t&&cin>>s[])
{
int n=;
do{if(s[n][]=='')break;
}while(cin>>s[++n]);
n--;
sort(s+,s+n+,cmp);
int cnt=;
memset(a,,sizeof(a));
int flag=;
for(int c=;c<=n&&!flag;++c)
{
int k=;
for(int i=;i<s[c].length();++i)
{
if(!a[k].nxt[s[c][i]-''])
a[k].nxt[s[c][i]-'']=++cnt;
k=a[k].nxt[s[c][i]-''];
if(a[k].tag)flag++;
}
a[k].tag=;
}
if(!flag)
printf("Set %d is immediately decodable\n",t);
else
printf("Set %d is not immediately decodable\n",t);
}
return ;
}

「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. windows平台下为Nginx反向代理(负载均衡)使用openssl增加HTTPS/SSL功能。

    1.准备好perl/openssl ActivePerl-5.12.2.1202-MSWin32-x86-293621.msi openssl-0.9.8k.tar.gz 编译 参考这个:http:/ ...

  2. mysql索引类型normal,unique,full text

    normal:表示普通索引 unique:表示唯一的,不允许重复的索引,如果该字段信息保证不会重复例如身份证号用作索引时,可设置为unique full textl: 表示 全文搜索的索引. FULL ...

  3. NGINX配置文件优化示例

    Nginx主配置文件 upstream.conf配置文件 # server nginx配置文件最好分开写,不要把所有的逻辑都放在一个文件里面,会看着很麻烦,,之前我的配置文件都放一起了,,导致现在维护 ...

  4. ubuntu16.04--在标题栏显示网速

    有时感觉网络失去响应,就通过Ubuntu 14.04自带的系统监视器程序来查看当前网速,但是这样很不方便,遂打算让网速显示在标题栏,那样就随时可直观的看到.一番搜索尝试后,成功实现!同时也实现了CPU ...

  5. ReactNative Navigator

    https://facebook.github.io/react-native/docs/navigator.html Navigator实现了页面之间的跳转. Demo描述:打开即进入“课程”页面, ...

  6. 使用Docker开发NodeJs APP

    英文版原文地址 这是两篇连载文章的第一篇,讲解了如何使用 Docker 替代 Vagrant 开发基于 Express 框架的NodeJs App的部分细节.不过,这次要增加点难度:我们要使用 con ...

  7. [转]screen 的使用

    当我们使用securecrt,putty, 等连接远程服务器时,如果正在执行一个程序,比如shell 脚本,退出当前的窗口会导致程序终止!其原理如下: 根据POSIX.1定义: 1 挂断信号(SIGH ...

  8. TP 框架 如果去掉表前缀

    #jd_admin_abc 去掉前缀 C('DB_PREFIX')=获取前缀 结果为admin_abc $table_Name=str_replace(C('DB_PREFIX'), '', $tab ...

  9. python 基础 5.3 类的重写

    一. 类的重写 只需要重新定义类的属性(变量),就是累的重写了 示例:重新定义类grandson的 name属性   #/usr/bin/python #coding=utf-8 #@Time :20 ...

  10. Java 学习 day05

    01-面向对象(概述) 面向对象 -- 冰箱.打开:冰箱.存储:冰箱.关闭: 02-面向对象(举例) 使用和指挥 -- 对象,不需要关注过程,只关注结果: 一切皆对象,万物皆对象  -- 自<T ...