【Week 15 作业B】ZJM与生日礼物

2023-05-16

题目描述

ZJM 收到了 Q老师 送来的生日礼物,但是被 Q老师 加密了。只有 ZJM 能够回答对 Q老师 的问题,Q老师 才会把密码告诉 ZJM。
Q老师 给了 ZJM 一些仅有 01 组成的二进制编码串, 他问 ZJM:是否存在一个串是另一个串的前缀.

输入格式

多组数据。每组数据中包含多个仅有01组成的字符串,以一个9作为该组数据结束的标志。

输出格式

对于第 k 组数据(从1开始标号),如果不存在一个字符串使另一个的前缀,输出"Set k is immediately decodable",否则输出"Set k is not immediately decodable"。

每组数据的输出单独一行

输入样例

01
10
0010
0000
9
01
10
010
0000
9

样例输出

Set 1 is immediately decodable
Set 2 is not immediately decodable

思路

每输入一个字符串,便插入到一颗字典树中,同时判断该字符串是否是已插入字符串的子串或者存在其他已插入字符串是该字符串的子串。详见insert函数。
若上述条件成立,则已经可得出结论,该组其他字符串可不用再一一插入字典树

代码

#include <iostream>
#include <string.h>
using namespace std;
bool jud;
struct Trie{
	static const int N=10000,charset=5;
	int tot,root,child[N][charset],flag[N];
	Trie(){
		memset(child,-1,sizeof(child));
		root=tot=0;
	}
	void clear(){
		memset(child,-1,sizeof(child));
		root=tot=0;
	}
	void insert(char*str){
		int now=root,len=strlen(str);
		for(int i=0;i<len;i++)
		{
			int x=str[i]-'0';
			if(child[now][x]==-1)
			{
				child[now][x]=++tot;
				flag[now]=0;
			}
			else if(i==len-1||flag[child[now][x]]==1)jud=true;
			now=child[now][x];
		}
		flag[now]=1;
	}
};
Trie tt;
int main(int argc, char** argv) {
	int n=1;
	jud=false;
	char str[100];
	while(scanf("%s",str)!=EOF)
	{
		if(str[0]-'0'!=9)
		{
			if(!jud)
				tt.insert(str);	
		}
		else
		{
			if(jud)
				printf("Set %d is not immediately decodable\n",n);
			else
				printf("Set %d is immediately decodable\n",n);
			jud=false;
			tt.clear();
			n++;
		}
	}
	return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Week 15 作业B】ZJM与生日礼物 的相关文章

  • w15作业--ZJM 与霍格沃兹(必做)

    题意 xff1a ZJM 为了准备霍格沃兹的期末考试 xff0c 决心背魔咒词典 xff0c 一举拿下咒语翻译题 题库格式 xff1a 魔咒 对应功能 背完题库后 xff0c ZJM 开始刷题 xff0c 现共有 N 道题 xff0c 每道
  • A - ZJM 与霍格沃兹 (Week15 作业)

    A ZJM 与霍格沃兹 Sample Input expelliarmus the disarming charm rictusempra send a jet of silver light to hit the enemy tarant
  • TT数鸭子 && ZJM要抵御宇宙射线(M4)

    TT数鸭子 题目描述 这一天 xff0c TT因为疫情在家憋得难受 xff0c 在云吸猫一小时后 xff0c TT决定去附近自家的山头游玩 TT来到一个小湖边 xff0c 看到了许多在湖边嬉戏的鸭子 xff0c TT顿生羡慕 此时他发现每一
  • WEEK 5 B TT's Magic Cat

    题目 xff1a Thanks to everyone s help last week TT finally got a cute cat But what TT didn t expect is that this is a magic
  • WEEK 11 E 选做题1 东东与 ATM

    题目 一家银行计划安装一台用于提取现金的机器 机器能够按要求的现金量发送适当的账单 机器使用正好N种不同的面额钞票 xff0c 例如D k xff0c k 61 1 2 N xff0c 并且对于每种面额D k xff0c 机器都有n k张钞
  • WEEK(7)作业——最短路专题(Floyd、Dijkstra、SPFA、负权环路)

    A TT的魔法猫 题目描述 众所周知 xff0c TT 有一只魔法猫 这一天 xff0c TT 正在专心致志地玩 猫和老鼠 游戏 xff0c 然而比赛还没开始 xff0c 聪明的魔法猫便告诉了 TT 比赛的最终结果 TT 非常诧异 xff0
  • week15作业A ZJM 与霍格沃兹

    ZJM 为了准备霍格沃兹的期末考试 xff0c 决心背魔咒词典 xff0c 一举拿下咒语翻译题 题库格式 xff1a 魔咒 对应功能 背完题库后 xff0c ZJM 开始刷题 xff0c 现共有 N 道题 xff0c 每道题给出一个字符串
  • ZJM 与纸条(KMP算法)

    问题描述 ZJM 的女朋友是一个书法家 xff0c 喜欢写一些好看的英文书法 有一天 ZJM 拿到了她写的纸条 xff0c 纸条上的字暗示了 ZJM 的女朋友 想给 ZJM 送生日礼物 ZJM 想知道自己收到的礼物是不是就是她送的 xff0
  • 【ZJM要抵御宇宙射线】CSP模测T2

    题目 题目大意 本题给出平面二维坐标上的若干个点 xff0c 要求选取一个点做圆心 xff0c 此时可以以最短半径包含所有点 xff0c 求出圆心坐标和最短半径平方 xff0c 结果保留两位小数 解题思路 本题乍看只下可能觉得会很复杂 xf
  • Week 6 H (A - 氪金带东)(B - 戴好口罩!)(C - 掌握魔法の东东 I)(D - 数据中心)

    Week 6 A 氪金带东题意思路代码 B 戴好口罩 xff01 题意思路代码 C 掌握魔法 东东 I题意思路代码 D 数据中心题意思路代码 A 氪金带东 题意 思路 首先 xff0c 这个图是棵树 解法 xff1a 三遍DFS 前两遍用来
  • 【Week 14 作业E】Q老师度假

    题目描述 忙碌了一个学期的 Q老师 决定奖励自己 N 天假期 假期中不同的穿衣方式会有不同的快乐值 已知 Q老师 一共有 M 件衬衫 xff0c 且如果昨天穿的是衬衫 A xff0c 今天穿的是衬衫 B xff0c 则 Q老师 今天可以获得
  • 【Week 15 作业B】ZJM与生日礼物

    题目描述 ZJM 收到了 Q老师 送来的生日礼物 xff0c 但是被 Q老师 加密了 只有 ZJM 能够回答对 Q老师 的问题 xff0c Q老师 才会把密码告诉 ZJM Q老师 给了 ZJM 一些仅有 01 组成的二进制编码串 他问 ZJ
  • 【Week 15 作业C】ZJM与纸条

    题目描述 ZJM 的女朋友是一个书法家 xff0c 喜欢写一些好看的英文书法 有一天 ZJM 拿到了她写的纸条 xff0c 纸条上的字暗示了 ZJM 的女朋友 想给 ZJM 送生日礼物 ZJM 想知道自己收到的礼物是不是就是她送的 xff0
  • 【Week 16】CSP-M4

    TT数鸭子 题目描述 输入输出描述 样例 思路 对每个数字按数位进行遍历 xff0c 求取不重复数字个数即可 代码 span class token macro property span class token directive key
  • Week 14 B——Q老师与十字叉

    Q老师与十字叉 Q老师 得到一张 n 行 m 列的网格图 xff0c 上面每一个格子要么是白色的要么是黑色的 Q老师认为失去了 十字叉 的网格图莫得灵魂 一个十字叉可以用一个数对 x 和 y 来表示 其中 1 x n 并且 1 y m 满足
  • Week 14 E - Q老师度假

    Q老师度假 忙碌了一个学期的 Q老师 决定奖励自己 N 天假期 假期中不同的穿衣方式会有不同的快乐值 已知 Q老师 一共有 M 件衬衫 xff0c 且如果昨天穿的是衬衫 A xff0c 今天穿的是衬衫 B xff0c 则 Q老师 今天可以获
  • [week15] C - ZJM与纸条(选做)—— KMP算法

    文章目录 题意InputOutput输入样例输出样例提示 分析总结代码 题意 ZJM 的女朋友是一个书法家 xff0c 喜欢写一些好看的英文书法 有一天 ZJM 拿到了她写的纸条 xff0c 纸条上的字暗示了 ZJM 的女朋友 想给 ZJM
  • 【Week15作业 C】ZJM与纸条【KMP】

    题意 xff1a ZJM 的女朋友是一个书法家 xff0c 喜欢写一些好看的英文书法 有一天 ZJM 拿到了她写的纸条 xff0c 纸条上的字暗示了 ZJM 的女朋友 想给 ZJM 送生日礼物 ZJM 想知道自己收到的礼物是不是就是她送的
  • 【Week16实验 B】ZJM要抵御宇宙射线【模拟】

    题意 xff1a 思路 xff1a 对每个点都求出到其余点的距离平方 xff0c 然后取该点到其他点的距离平方的最大值为半径平方 xff0c 最后对所有点的半径平方取最小值 注意有多解时将x较小 y较小的点作为答案 总结 xff1a 一道简
  • Java中Calendar.DAY_OF_WEEK、DAY_OF_MONTH需要减一的原因

    Java中对日期的处理需要用到Calendar类 xff0c 其中有几个方法在使用时需要新手注意 1 在获取月份时 xff0c Calendar MONTH 43 1 的原因 xff08 Java中Calendar MONTH返回的数值其实

随机推荐

  • 计算机视觉学习笔记&思维导图(一起轻松学习计算机视觉与图像处理)

    文章目录 前言一 思维导图二 笔记勘误 前言 本文为计算机视觉课程期末复习的笔记 xff0c 编者耗时近半个月整理而成 内容依据课程的学习资料以及查阅网上一些资料梳理得到的 xff0c 编者希望在应付考试的同时能够将计算机视觉的知识体系建立
  • python发送邮件

    text 61 39 亲爱的Jerry 我是你的邻居Tom xff01 5 1邀请你来参加劳动 xff01 CALL ME xff1a 123 64 qq com 39 from email mime text import MIMETex
  • Python实现微信自动化发送信息

    需求 xff1a 利用PC端微信实现自动向文件传输助手 xff0c 好友等发送信息 库说明 psutil 获取系统运行的进程和系统利用率 xff08 包括CPU 内存 磁盘 网络等 xff09 信息 xff0c 用于获取进程ID pywin
  • 数据类型——枚举

    文章目录 枚举是什么枚举的声明枚举与其他数据类型的转换与int类型转换枚举转intint转枚举 与string类型转换枚举转字符串字符串转枚举 枚举的意义是什么 枚举是什么 在c 中 xff0c 枚举 enumeration 是一种数据类型
  • C# 调用WebService的方式汇总

    C 调用WebService的方式汇总 方式一 xff1a 根据提供的webservice地址 xff0c 用VS自带工具生成cs文件 xff0c 添加到项目中使用即可 方式二 xff1a 根据webservice地址 xff0c 动态在项
  • npm 报错:`[HPM] Error occurred while trying to proxy request (ECONNREFUSED)`

    npm 报错 xff1a HPM Error occurred while trying to proxy request users from localhost 8000 to https localhost 5000 ECONNREF
  • selenium Grid 4.x版本 部署操作 笔记

    selenium Grid 4 x版本 部署操作 笔记 selenium Grid 是 selenium套件 的一部分 xff0c 实现分布式测试 xff0c 多用于浏览器兼容性测试 使用 hub nodes 理念 xff1a 一台 hub
  • 图解辗转相除法

    前言 虽然在很久很久以前刚入门ACM的时候就已经知道辗转相除法的存在 xff0c 并且也用GCD解了不少题 xff0c 不过说实话辗转相除法的原理一直不是很清楚 直到最近做到这样一道题 Codeforces 343A xff0c 本以为是一
  • 【程序设计思维与实践 Week2 实验C】瑞神打牌

    题意 xff1a 牌局由四个人构成 xff0c 围成一圈 我们称四个方向为北 东 南 西 对应的英文是North xff0c East xff0c South xff0c West 游戏一共由一副扑克 xff0c 也就是52张构成 开始 x
  • 【程序设计思维与实践 Week5 作业D】滑动窗口

    题目描述 xff1a 有一个长度为 n 的数列和一个大小为 k 的窗口 窗口可以在数列上来回移动 现在 我们想知道在窗口从左往右滑的时候 xff0c 每次窗口内数的最大值和最小值分别是多少 例如 xff1a 数列是 1 3 1 3 5 3
  • 【Week8 CSP-M2 C】咕咕东的奇妙序列

    题目描述 格式说明 样例输入 样例输出 数据规模 思路 由题知 xff0c 这个无限序列的第i部分是从1 i的子序列 xff0c 该解法的大体思路是我们首先确定要查询的项 设为k项 在无限序列的第几部分 第几个子序列 xff0c 然后再从这
  • 【Week 8 作业A】区间选点II

    题目描述 给定一个数轴上的 n 个区间 xff0c 要求在数轴上选取最少的点使得第 i 个区间 ai bi 里至少有 ci 个点 输入格式 输入第一行一个整数 n 表示区间的个数 xff0c 接下来的 n 行 xff0c 每一行两个用空格隔
  • 【Week 8 作业 B】猫猫向前冲

    题目描述 众所周知 xff0c TT 是一位重度爱猫人士 xff0c 他有一只神奇的魔法猫 有一天 xff0c TT 在 B 站上观看猫猫的比赛 一共有 N 只猫猫 xff0c 编号依次为1 xff0c 2 xff0c 3 xff0c xf
  • 【Week 9 作业 A】咕咕东的目录管理器

    题目描述 咕咕东的雪梨电脑的操作系统在上个月受到宇宙射线的影响 xff0c 时不时发生故障 xff0c 他受不了了 xff0c 想要写一个高效易用零bug的操作系统 这工程量太大了 xff0c 所以他定了一个小目标 xff0c 从实现一个目
  • 【Week 11 作业】必做题

    Week 11 必做题 A 必做题 1题目描述输入格式输出格式输入样例输出样例思路代码 B 必做题 2题目描述输入格式输出格式数据范围样例输入样例输出思路代码 C 必做题 3题目描述输入格式输出格式样例输入样例输出思路代码 D 必做题 4题
  • 【Week 12 作业】必做题

    Week12必做题 必做题1题目描述输入格式输出格式输入样例输出样例代码 必做题2题目描述输入格式输出格式输入样例输出样例思路注意代码 必做题3题目描述输入格式输出格式输入样例输出样例思路代码 必做题1 题目描述 给出n个数 xff0c z
  • 【Week 13 作业E】TT的神秘任务3

    题目描述 TT 猫咖的生意越来越红火 xff0c 人越来越多 xff0c 也越来越拥挤 为了解决这个问题 xff0c TT 决定扩大营业规模 xff0c 但猫从哪里来呢 xff1f TT 第一时间想到了神秘人 xff0c 想要再次通过完成任
  • 【Week 14 作业E】Q老师度假

    题目描述 忙碌了一个学期的 Q老师 决定奖励自己 N 天假期 假期中不同的穿衣方式会有不同的快乐值 已知 Q老师 一共有 M 件衬衫 xff0c 且如果昨天穿的是衬衫 A xff0c 今天穿的是衬衫 B xff0c 则 Q老师 今天可以获得
  • Git安装和Azure DevOps使用

    Git安装和Azure DevOps使用 为了方便团队开发 xff0c 需要用到Azure DevOps作为代码仓库 xff0c DevOps需要用到Git环境 xff0c 如果你已经安装git请跳过前两步 本次重点是介绍DevOps克隆项
  • 【Week 15 作业B】ZJM与生日礼物

    题目描述 ZJM 收到了 Q老师 送来的生日礼物 xff0c 但是被 Q老师 加密了 只有 ZJM 能够回答对 Q老师 的问题 xff0c Q老师 才会把密码告诉 ZJM Q老师 给了 ZJM 一些仅有 01 组成的二进制编码串 他问 ZJ