发布时间:2026/8/25 4:09:29
UVa 740 Baudot Data Communication Code 题目描述Baudot\texttt{Baudot}Baudot码是一种早期数据通信中使用的编码每个字符用555个比特表示最多可编码323232个不同字符。为扩展容量该码使用上档Shift Up\texttt{Shift Up}Shift Up和下档Shift Down\texttt{Shift Down}Shift Down两种模式类似于打字机的大小写切换。给定完整的323232个下档字符和323232个上档字符以及若干条由0和1组成的消息每行一条长度不超过808080比特要求将每条消息按Baudot\texttt{Baudot}Baudot码解码为可读文本。初始状态默认为下档状态。遇到上档码11111后切换为上档遇到下档码11011后切换为下档。其他555位码组按当前模式查表输出对应字符。输入格式输入包含两部分。第一行包含323232个下档字符包括空格和移位字符的占位符第二行包含323232个上档字符。随后若干行每行一个由0和1组成的字符串表示一条消息。输入以文件结束终止。每条消息最长808080位初始状态为下档。输出格式对于每条消息输出一行解码后的文本。样例输入 T\*0 HNMLRGIPCVEDDSYFXAWJ UQK 59 %, )480::3$?#6!/-271( 100100110011000010011111101110001111101111101 001100001101111100100111111000010011000100011001101111100000111样例输出DIAL:911 NOV 5,8AM题目分析Baudot\texttt{Baudot}Baudot码的每条消息由连续的555位码组构成。两个特殊码组用于切换模式11111表示上档Shift Up\texttt{Shift Up}Shift Up11011表示下档Shift Down\texttt{Shift Down}Shift Down。其余码组根据当前模式从对应的323232字符表中查找并输出。初始模式为下档。输入行可能包含空格但由于消息由0和1组成直接读取即可。解题思路实现步骤如下步骤1\texttt{1}1. 读取两行字符串分别存储下档字符表downdowndown和上档字符表upupup长度均为323232。步骤2\texttt{2}2. 对每条消息设置状态变量isDowntrueisDown trueisDowntrue。从位置i0i 0i0开始每次取555位子串pieceline.substr(i,5)piece line.substr(i, 5)pieceline.substr(i,5)。步骤3\texttt{3}3. 若piecepiecepiece等于11011则设置isDowntrueisDown trueisDowntrue表示进入下档模式若等于11111则设置isDownfalseisDown falseisDownfalse表示进入上档模式否则将piecepiecepiece转换为整数indexindexindex二进制值根据isDownisDownisDown选择down[index]down[index]down[index]或up[index]up[index]up[index]输出对应字符。步骤4\texttt{4}4. 每处理完一条消息输出换行。代码实现// Baudot Data Communication Code// UVa ID: 740// Verdict: Accepted// Submission Date: 2016-11-30// UVa Run Time: 0.000s//// 版权所有C2016邱秋。metaphysis # yeah dot net#includebits/stdc.husingnamespacestd;intmain(intargc,char*argv[]){cin.tie(0);cout.tie(0);ios::sync_with_stdio(false);string down_characters,up_characters;getline(cin,down_characters);getline(cin,up_characters);string line;while(getline(cin,line)){inti0;boolis_downtrue;while(iline.length()){string pieceline.substr(i,5);if(piece11011)is_downtrue;elseif(piece11111)is_downfalse;else{bitset5indexer(piece);if(is_down)coutdown_characters[indexer.to_ulong()];elsecoutup_characters[indexer.to_ulong()];}i5;}cout\n;}return0;}总结本题模拟Baudot\texttt{Baudot}Baudot码解码过程核心是处理模式切换码组和按当前模式查表。利用bitset5\texttt{bitset5}bitset5将555位二进制字符串转换为整数索引简化转换。注意初始状态为下档且两个特殊码组仅切换状态而不输出字符。消息长度可能不是555的倍数但题目保证有效因此直接按每555位处理即可。该算法时间复杂度O(L)O(L)O(L)空间O(1)O(1)O(1)适用于短消息解码。

相关新闻

2026/8/25 4:04:29

从软件开发到 AI Systems:一次 PostgreSQL 学习型查询优化研究实践

写在前面 本科毕业一年,已经经历了一轮"大厂实习-大厂入职-离职" 的流程,其中心路历程以后有机会写。目前在探索AI Systems学术路线,所以这篇内容,可以定位为本科生/程序员 转AI Systems科研路线的第一次研究实践。考虑…

2026/8/25 4:04:29

浅谈眼镜商城app开发相关解决方案

由于电子设备的数量不断增多,对于人们视力的威胁也进一步提高,导致很多人从小眼睛变得近视。如何为自己搭配一副合适的眼镜成为当下许多人的诉求。虽然说去眼镜门店能获取对应的近视眼镜,但是门店往往提供的是合适的眼镜,但并不是…

2026/8/25 6:24:36

Linux命令-zip(创建 ZIP 压缩包)

Linux命令-zip(创建 ZIP 压缩包)🔰 命令简介📖 语法格式⚙️ 常用选项💡 实战示例1. 基本压缩操作2. 加密压缩3. 排除与包含文件4. 分卷压缩5. 更新与管理压缩包6. 实用技巧7. 通过管道压缩(配合 tar&#…

2026/8/25 6:24:36

从提示词工程到ReAct智能体:大模型应用开发实战指南

在实际项目里引入 AI 大模型,很多开发者会直接陷入两个极端:要么觉得 API 调用几行代码就能搞定,没什么可学的;要么被层出不穷的框架、概念和“幻觉”问题吓退,感觉无从下手。真正阻碍项目落地的,往往不是模…

2026/8/25 6:24:36

ERP系统服务器选型与云端架构实战指南

当你的公司规模从几十人发展到几百人,当财务、销售、采购、库存、生产的数据开始在各Excel表格和聊天记录里“流浪”,当老板问“这个月哪个产品线利润最高”需要三个人花半天时间才能拼凑出一个模糊答案时——你大概已经意识到,是时候引入一套…

2026/8/25 6:24:36

技术面试高效刷题指南:从盲目刷题到建立解题思维模式

这类刷题宝典最值得先看的不是它有多少题,而是它能不能帮你把“刷题”这个动作,从“盲目刷”变成“有效练”。很多人刷了几百道题,面试时还是没思路,问题就出在路径和重点上。谷歌工程师推荐的思路,核心往往不是题量&a…

2026/8/25 6:24:36

ROS从零入门:核心通信机制Topic与Service保姆级实战教程

大家好,我是专注于机器人技术分享的博主。在探索具身智能机器人开发时,ROS(Robot Operating System)是绕不开的核心框架。很多朋友在入门阶段就被复杂的安装、晦涩的概念和通信机制劝退,网上资料要么过于零散&#xff…

2026/8/25 6:19:36

GraphRAG面试核心考点与优化策略详解

1. GraphRAG面试题解析与核心考点剖析微软GraphRAG作为知识图谱与检索增强生成(RAG)技术的结合体,正在成为AI领域的热门面试方向。去年我在准备微软亚洲研究院的面试时,曾花了两周时间系统梳理过这个技术栈的考核要点。不同于传统…

2026/8/25 1:04:19

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/24 1:12:32

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/24 8:17:29

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/25 0:04:14

三步把QQ空间历史说说导出到本地:GetQzonehistory 极简指南

三步把QQ空间历史说说导出到本地:GetQzonehistory 极简指南 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory Meta Description:GetQzonehistory 是一个QQ空间历史说…

2026/8/25 0:04:14

洛谷 P7912:[CSP-J 2021 T4] 小熊的果篮 ← 双向链表

【题目来源】 https://www.luogu.com.cn/problem/P7912 【题目描述】 小熊的水果店里摆放着一排 n 个水果。每个水果只可能是苹果或桔子,从左到右依次用正整数 1,2,…,n 编号。连续排在一起的同一种水果称为一个“块”。小熊要把这一排水果挑到若干个果篮里&#x…

2026/8/24 13:42:17

实测才敢推 AI论文网站 2026最新测评与推荐

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。一、综…

2026/8/24 18:13:48

2026必备!AI论文网站测评:最新推荐与深度对比

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

2026/8/25 1:08:14

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…