首页/新闻资讯/正文详情

UVa 12764 Exercising Emoticons

发布时间:2026/11/5 1:37:35 来源:云帆数科 栏目:资讯中心
UVa 12764 Exercising Emoticons
摘要本题要求把由数字串描述的火柴人动画还原成字符画——共10\texttt{10}10个固定帧每帧3\texttt{3}3行 ×4\texttt{4}4字符按数字串顺序水平拼接帧间以单个空格分隔输出3\texttt{3}3行内容并在每部电影后空一行。核心是纯模拟预存帧数据、把点号替换为空格、正确处理反斜杠转义并严格控制行末无多余空格。时间复杂度O(M⋅N)O(M \cdot N)O(M⋅N)实现简洁高效。题目描述本题需要制作一个正在做运动的火柴人的电影。电影由一系列帧组成共有101010个固定的字符帧编号为000到999。每个帧的尺寸为宽444字符、高333字符。帧中的点.实际表示空格其作用仅为占位以显示所有帧具有相同尺寸。0: \./. 1: .o.. 2: .... 3: .... 4: _o_. .|.. /|\. .... .... .|.. /o\. /.\. __\o \_\o /.\. 5: \o/. 6: \o_. 7: \o/. 8: .... 9: .o.. .|.. \|.. \|/. .__o (.). /.\. .|.. .... /..| /.\.给定若干部电影每部电影由一个长度不超过727272的数字串描述数字串中的每个数字代表该位置使用的帧编号。要求将每部电影的所有帧按顺序水平拼接帧之间用一个空格分隔输出拼接后的333行内容并在每部电影输出结束后打印一个空行。输入格式第一行包含一个整数MMM1≤M≤1001 \le M \le 1001≤M≤100表示电影的数量。接下来MMM行每行一个由十进制数字组成的字符串长度至少为111且不超过727272表示该电影使用的帧序列。输出格式对于每部电影输出333行每行是拼接后的帧内容帧之间用单个空格分隔行末无多余空格。每个电影的输出后跟一个空行。帧中的点需被替换为实际空格反斜杠需正确转义输出。样例输入2 171 151415输出o \o/ o /|\ \|/ /|\ / \ / \ o \o/ o _o_ o \o/ /|\ | /|\ | /|\ | / \ / \ / \ / \ / \ / \题目分析本题属于纯粹的模拟题型不涉及复杂算法或数据结构。题目的核心要求是将给定的帧编号序列映射为对应的字符图案并按固定格式输出。由于帧的数量仅为101010个且每个帧的尺寸固定333行×\times×444字符可以直接将所有帧的数据预存储在程序中。处理过程中需要特别注意两个细节帧中的点.在输出时必须显示为空格而不是字面字符.。反斜杠\在C\texttt{C}C字符串字面量中是转义字符因此存储帧数据时必须使用\\来表示单个反斜杠字符以保证输出正确。每个电影的输出必须满足总字符数的精确要求由于每个帧宽度为444NNN个帧之间共有N−1N-1N−1个分隔空格因此每行总字符数为4N(N−1)5N−14N (N-1) 5N - 14N(N−1)5N−1。该约束在拼接过程中自然满足。解题思路帧数据的存储与预处理使用一个二维字符串数组frame[10][3]存储所有帧的三行内容其中第一维为帧编号0∼90 \sim 90∼9第二维为行号0∼20 \sim 20∼2。将题目给出的帧图案含点号直接写入数组并在读入后立即将每个字符串中的所有点号替换为空格字符。这样在输出时无需额外判断直接拼接即可。每部电影的处理流程读取电影的数字串seq获取其长度NNN。初始化三个空字符串line0、line1、line2分别对应最终输出的三行。遍历数字串的每个字符seq[i]将其转换为整数d seq[i] - 0。对于非首个帧即i 0在三个行字符串末尾各追加一个空格字符作为帧间分隔。将frame[d][0]、frame[d][1]、frame[d][2]分别追加到line0、line1、line2的末尾。遍历结束后依次输出line0、line1、line2并在最后输出一个空行。复杂度分析每部电影的数字串长度N≤72N \le 72N≤72电影数量M≤100M \le 100M≤100总处理字符数不超过720072007200。时间复杂度为O(M⋅N)O(M \cdot N)O(M⋅N)空间复杂度为O(1)O(1)O(1)不计输出缓冲区。该复杂度完全满足题目限制。代码实现// Exercising Emoticons// UVa ID: 12764// Verdict: Accepted// Submission Date: 2026-07-12// UVa Run Time: 0.000s//// 版权所有C2026邱秋。metaphysis # yeah dot net#includebits/stdc.husingnamespacestd;// 10个帧每个帧3行每行4个字符点表示空格string frame[10][3]{{\\./.,.|..,/o\\.},// 0{.o..,/|\\.,/.\\.},// 1{....,....,__\\o},// 2{....,....,\\_\\o},// 3{_o_.,.|..,/.\\.},// 4{\\o/.,.|..,/.\\.},// 5{\\o_.,\\|..,.|..},// 6{\\o/.,\\|/.,....},// 7{....,.__o,/..|},// 8{.o..,(.).,/.\\.}// 9};intmain(){// 将帧中的点替换为空格for(inti0;i10;i)for(intj0;j3;j)for(intk0;kframe[i][j].size();k)if(frame[i][j][k].)frame[i][j][k] ;intM;cinM;while(M--){string seq;cinseq;intNseq.size();string line0,line1,line2;for(inti0;iN;i){intdseq[i]-0;if(i0){// 帧间加空格line0 ;line1 ;line2 ;}line0frame[d][0];line1frame[d][1];line2frame[d][2];}coutline0\n;coutline1\n;coutline2\n;cout\n;// 每部电影后空行}return0;}总结本题通过直接存储帧数据并逐帧拼接的方式解决了问题展现了模拟类题目的典型处理手法。关键技巧包括将帧中的点号预先替换为空格避免在输出阶段重复判断。正确使用转义序列\\表示反斜杠字符。严格控制帧间分隔符的添加位置保证行末无多余空格从而满足格式要求。该解法简洁高效充分利用了题目数据规模小的特点是处理固定图案拼接问题的标准范式。

相关推荐

UVa 1186 Chat Rooms
UVa 1186 Chat Rooms

摘要:本题要求对聊天室中逐行输入的文本进行实时过滤判定。判定依据包括:整行是否出现超过 555 个连续辅音、是否含有超过 444 个连续辅音的“坏单词”且最近 101010 行中此类行超过 222 条、以及是否与最近 101010 行中的某行完全重复。任意条件触发即输… · 2026/11/5 1:37:35

OpenDataPipeline如何连接12+种数据库?MySQL、PostgreSQL、Snowflake、Databricks连接配置实战教程
OpenDataPipeline如何连接12+种数据库?MySQL、PostgreSQL、Snowflake、Databricks连接配置实战教程

【免费下载链接】open-data-pipeline Open Data Pipeline is an AI powered data migration and data transformation tool 项目地址: https://gitcode.com/gh_mirrors/op/open-data-pipeline 点击查看 免费下载 OpenDataPipeline 是一款 AI 驱动的数据迁移与数据转… · 2026/11/5 1:36:33

一个图标顶十款 Mac 工具:Vorssaint 菜单栏工具指南
一个图标顶十款 Mac 工具:Vorssaint 菜单栏工具指南

一个图标顶十款 Mac 工具:Vorssaint 菜单栏工具指南 【免费下载链接】vorssaint-utils Free and open-source macOS menu bar toolkit. 项目地址: https://gitcode.com/GitHub_Trending/vo/vorssaint-utils Vorssaint 是免费开源(GPL 3.0&#xf… · 2026/11/5 1:36:33

Dify 1.13.1版本解析:向量数据库集成与AI应用安全升级
Dify 1.13.1版本解析:向量数据库集成与AI应用安全升级

1. 版本升级核心价值解析Dify作为一款开源大模型应用开发平台,其1.13.1版本的发布标志着三个重要技术方向的突破:首先是对阿里云Hologres向量数据库的原生支持,这解决了大规模向量检索的性能瓶颈问题;其次是HITL(人在环… · 2026/11/5 2:18:49

AUTOSAR模式接口:Simulink声明组、切换事件与ARXML导出
AUTOSAR模式接口:Simulink声明组、切换事件与ARXML导出

简介:围绕MATLAB环境下AUTOSAR软件开发的模式接口样例模型展开,面向汽车电子软件工程师、嵌入式开发者及高校相关方向学习者,帮助梳理从模式定义、接口设计到RTE配置、模型集成、代码生成与测试验证的完整链路。资源以Simulink/Stateflow模型… · 2026/11/5 2:18:49

静态时序分析实战:从SDC约束、slack计算到关键路径签核
静态时序分析实战:从SDC约束、slack计算到关键路径签核

简介:这份PDF资料围绕静态时序分析(STA)与逻辑设计展开,面向数字集成电路设计初学者、ASIC/FPGA 方向的学生与工程人员,帮助读者建立从时序约束概念到 timing closure 的完整认知框架。内容涉及时序约束中 Setup、Hold… · 2026/11/5 2:18:49

大模型多智能体系统设计:从角色分工到通信协议
大模型多智能体系统设计:从角色分工到通信协议

1. 项目背景与核心价值最近在准备大模型相关岗位的面试时,发现多智能体协作机制是个高频考点。作为面试官最爱的考察方向之一,这个主题不仅涉及分布式系统设计思想,还需要对LLM的协同工作模式有深入理解。我在实际模拟面试中整理出一套可复用… · 2026/11/5 2:18:49

工业设备声学诊断技术:非接触式故障检测方案
工业设备声学诊断技术:非接触式故障检测方案

1. 项目概述:当声音成为机械设备的"听诊器"在工业设备维护领域,机械故障诊断一直是个既关键又棘手的课题。记得去年在本地一家化工厂做技术咨询时,他们的反应釜驱动电机突发故障导致全线停产,仅一天的停工损失就超过50万… · 2026/11/5 2:18:49

C# ECharts模型库:解决序列化乱码与运行时崩溃问题
C# ECharts模型库:解决序列化乱码与运行时崩溃问题

简介:这是一套专为C# MVC开发者设计的ECharts模型层建模库,解决.NET后端与前端图表库深度集成难题,显著降低数据可视化开发门槛。资源共369个文件,涵盖110个核心C#模型类(如图表配置、坐标轴、系列项等)、8… · 2026/11/5 2:17:49

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 3:16:49

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 6:59:29

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 7:02:38

多智能体协作系统架构设计与实践优化
多智能体协作系统架构设计与实践优化

1. 多智能体协作系统的时代背景2017年Transformer架构的诞生彻底改变了人工智能的发展轨迹。当行业还沉浸在单一大模型带来的性能突破时,Anthropic的研究团队已经将目光投向了更前沿的领域——如何让多个智能体通过协作产生超越单体能力的系统智能。这就像交响乐团中… · 2026/11/5 0:00:39

大模型系统性入门实战指南:从原理到部署微调的全链路路线
大模型系统性入门实战指南:从原理到部署微调的全链路路线

提到大模型的系统性入门,我先说个结论:这事真不难,难的是资料太散、路线太多,今天这个框架明天那个工具,新人很容易在“收藏夹吃灰”和“教程看到一半放弃”之间反复横跳。市面上关于大模型的内容少说有几十万篇&#… · 2026/11/5 0:00:39

鸿蒙文件系统沙箱机制解析与开发实践
鸿蒙文件系统沙箱机制解析与开发实践

1. 鸿蒙文件系统沙箱机制深度解析作为一名从Android转向鸿蒙开发的工程师,我深刻体会到文件系统访问是迁移过程中最先遇到的"拦路虎"。在Android上运行良好的文件读写代码,在鸿蒙真机环境却频频出现文件写入后神秘消失或直接抛出权限拒绝错误的… · 2026/11/5 0:00:39

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 3:16:49

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 6:59:29

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 7:02:38

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码