4_4 信息解码(UVa213)<二进制:输入技巧与调试技巧>
消息编码方案要求在两个部分中发送一个被编码的消息。第一部分:称为头,包含消息的字符。第二部分包含一个模式
表示信息。你必须写一个程序,可以解码这个消息。
你的程序的编码方案的核心是一个序列的“0和1”的字符串 。
0, 00, 01, 10, 000, 001, 010, 011, 100, 101, 110, 0000, 0001, . . . , 1011, 1110, 00000, . . .
序列中长度为1的1个,长度为2的3个,长度为3的7个,长度为4的15个。如果相邻两个具有相同的长度,第二可从第一个加1(2进制)。注意有序列中没有全都是1的串。
键被映射到标题中的字符。也就是说,第一个键(0)映射在标题的第一个字符,第二键(00)在头的二字符,k键映射到标头中的k个字符。例如,假设标题是:AB#TANCnrtXc
然后0映射到A,00映射到B,01映射到#,10映射到T,000映射到A,…,110映射到X,0000映射到c.
该编码的信息包含0和1的和可能的回车,这是被忽略。消息分为段。一个段的前3位数字为二进制表示在段的键的长度。例如,如果前3位数字为010,则其余该段由长度为2(00,01,或10)。段的结束是1的字符串
在段中的键长度相同。因此一段长度2的键是终止11。整个编码的信息被000终止(这将意味着一段段其中的按键有0个)。通过将该段中的键进行翻译,该消息被解码的标题字符已被映射。
输入:
输入文件包含多个数据集。每个数据集包含一个标题,这是在一个单独的行就其本身而言,和一个消息,它可能会延续几行。头的长度是有限的唯一的事实,有一个关键字符串的最大长度为7(111的二进制)。如果有多个在头一个字符的副本,然后几个键将映射到字符。编码信息仅包含0和1的,这是一个合法的编码,根据所描述的计划。那是,信息段的开始与适当的序列的序列长度和位数1,在任何给定的段的键都是相同的长度,并且它们都对应于字符标题。该消息以000终止
输出:
对于每个数据集,您的程序必须在一个单独的行上写它的解码信息。
信息之间不要留空白行。
样例输入:
TNM AEIOU
0010101100011
1010001001110110011
11000
$#**\
0100000101101100011100101000
样例输出:
TAN ME
##*\$
4_4 信息解码(UVa213)<二进制:输入技巧与调试技巧>的更多相关文章
- UVA 213 信息解码(二进制&位运算)
题意: 出自刘汝佳算法竞赛入门经典第四章. 考虑下面的01串序列: 0, 00, 01, 10, 000, 001, 010, 011, 100, 101, 110, 0000, 0001, …, 1 ...
- UVa 213 信息解码 (模拟 && 二进制)
题意 :对于下面这个字符串 0,00,01,10,000,001,010,011……. 首先是长度为1的串,然后是长度为2的串,以此类推.不存在全为1的串. 你的任务是编写一个程序.首先输入一个代码头 ...
- js调试技巧 Firefox调试技巧汇总
Firebug入门指南 : http://www.ruanyifeng.com/blog/2008/06/firebug_tutorial.html Firebug控制台详解: htt ...
- Visual Studio原生开发的20条调试技巧(下)
我的上篇文章<Vistual Studio原生开发的10个调试技巧>引发了很多人的兴趣,所以我决定跟大家分享更多的调试技巧.接下来你又能看到一些对于原生应用程序的很有帮助的调试技巧(接着上 ...
- Visual Studio 2015中的常用调试技巧分享
.NET 技术交流群:337901356 欢迎您的加入! 为什么要学习调试? 调试(Debug)是作为一个程序员必须要学会的东西,学会调试可以极大的提高开发效率,排错时间,很多人不喜欢调试,但我认为这 ...
- WebApi-路由机制 Visual Studio 2015中的常用调试技巧分享
WebApi-路由机制 一.WebApi路由机制是什么? 路由机制通俗点来说:其实就是WebApi框架将用户在浏览器中输入的Url地址和路由表中的路由进行匹配,并根据最终匹配的路由去寻找并匹配相应 ...
- Visual Studio 调试技巧:10 篇热文汇总
本文精选了 DotNet 2017年11月份的10篇热门文章.其中有技术分享.技术资源. 注:以下文章,点击标题即可阅读 <Visual Studio的调试技巧 > 调试技巧是衡量程序员 ...
- 算法习题---4.4信息解码(UVa213)
一:题目 消息编码方案要求在两个部分中发送一个被编码的消息.第一部分:称为头,包含消息的字符.第二部分包含一个模式 表示信息.你必须写一个程序,可以解码这个消息. (一)题目详细 你的程序的编码方案的 ...
- 网页调试技巧:抓取马上跳转的页面POST信息或者页面内容
http://www.qs5.org/Post/625.html 网页调试技巧:抓取马上跳转的页面POST信息或者页面内容 2016/02/02 | 心得分享 | 0 Replies 有时候调试网页或 ...
随机推荐
- Django中间件,CSRF(跨站请求伪造),缓存,信号,BootStrap(模板)-响应式(栅格)+模板
Django中间件,CSRF(跨站请求伪造),缓存,信号,BootStrap(模板)-响应式(栅格)+模板 1.中间件(重要): 在Django的setting中有个MIDDLEWARE列表,里面的东 ...
- [Netcat] 断线重连 自动重连
今天想做些操作,所以想到了nc 但是nc太过于轻量级 所以 导致我没有找到他的断线重连功能 然后我就想到了windows的神器之一 vbs脚本 vbs代码如下 Dim a,b set a= WScri ...
- Pacemaker+ISCSI实现Apache高可用-环境准备
Pacemaker是红帽7上的集群管理器,用于替代6上RHCS 配置ISCSI 服务端 yum -y install targetcli systemctl enable target.service ...
- AC3 mantissa quantization and decoding
1.overview 所有的mantissa被quantize到固定精确度的level(有相应的bap标识)上,level小于等于15时,使用symmetric quantization.level大 ...
- python调用c/c++ (入参出参为指针)
python可以使用ctypes库调用c++编译的so库函数 0x01 c/c++编译为so库文件 编译C文件 gcc -o libpycallfoo.so -shared -fPIC rsa.c ...
- form表单提交且接口回调显示提交成功
前端: <form method="post" enctype="multipart/form-data" id="formSubmit&quo ...
- 对C#面向对象三大特性的一点总结
一.三大特性 封装: 把客观事物封装成类,并把类内部的实现隐藏,以保证数据的完整性 继承:通过继承可以复用父类的代码 多态:允许将子对象赋值给父对象的一种能力 二.[封装]特性 把类内部的数据隐藏,不 ...
- 集合的操作 contains(),containsAll() ,addAll(),removeAll(),
package seday11; import java.util.ArrayList;import java.util.Collection;import java.util.HashSet;/** ...
- Kali国内源更新sources.list
Kali国内源更新sources.list 更新源,个人推荐中科大leafpad /etc/apt/sources.list #中科大 deb http://mirrors.ustc.ed ...
- win api 音频可视化
暂时记录,改天有时间再完善...其实写好好久了,但以前的代码丢了,重新写一遍.. 原理和 python 的一样,获取输入设备,然后把数据读取到 buffer 中,在绘制出来. 这里要注意两点: 1. ...