http://acm.jlu.edu.cn/joj/showproblem.php?pid=1025
老是Presentation Error,无语了!
#include<iostream>
#include<string>
using namespace std;
//Horizonal state:
//0: skip; 1: '-' required
//Vertical state:
//0: skip; 1: single right '|'
//2: single left '|' 3:both lines
const int lcDisplayData[10][5] = {
{1,3,0,3,1},//0 five rows
{0,1,0,1,0},//1
{1,1,1,2,1},//2
{1,1,1,1,1},//3
{0,3,1,1,0},//4
{1,2,1,1,1},//5
{1,2,1,3,1},//6
{1,1,0,1,0},//7
{1,3,1,3,1},//8
{1,3,1,1,1}//9
};
//H represent Horizonal
//V represent Vertical
//D represent Done
char cdStates[] = {
'H','V','H','V','H','D'
};
string horizonal_segment(int type,int sz){
int i = 0;
string segment = "";
segment.push_back(' ');
switch(type){
case 1:
for(i = 0; i < sz; i++)
segment.push_back('-');
break;
case 0:
for(i = 0; i < sz; i++)
segment.push_back(' ');
break;
default:
break;
}
segment.push_back(' ');
segment.push_back(' ');//blank between digit
return segment;
}
string vertical_segment(int type, int sz){
string segment = "";
int i;
switch(type){
case 1:
segment.push_back(' ');
for(i = 0; i < sz; i++)
segment.push_back(' ');
segment.push_back('|');
break;
case 2:
segment.push_back('|');
for(i = 0; i < sz; i++)
segment.push_back(' ');
segment.push_back(' ');
break;
case 3:
segment.push_back('|');
for(i = 0; i < sz; i++)
segment.push_back(' ');
segment.push_back('|');
break;
default:
segment.push_back(' ');
for(i = 0; i < sz; i++)
segment.push_back(' ');
segment.push_back(' ');
break;
}
segment.push_back(' ');//blank between digit
return segment;
}
void display(int size,string num){
int i,j,k;
for(i = 0; i < 6; i++){
string line = "";
switch(cdStates[i]){
case 'H':
for(j = 0; j < num.length(); j++){
line.append( horizonal_segment(lcDisplayData[ num[j]-'0' ][i],size) );
}
cout << line.substr(0,line.length()-1) << endl;//use substr remove last ' '
break;
case 'V':
for(k = 0; k < size; k++){
line = "";
for(j = 0; j < num.length(); j++){
line.append(vertical_segment(lcDisplayData[ num[j]-'0' ][i],size));
}
cout << line.substr(0,line.length()-1) << endl;
}
break;
case 'D':
break;
}
}
}
int main(){
int size;
string num;
int flag = 0;
while(cin >> size >> num){
if(flag)
cout << endl;
else
flag = 1;
display(size,num);
}
}
分享到:
相关推荐
标题中的"25LC512_SPI_25LC512_25LC_"指的是Microchip Technology公司生产的一种串行电可擦可编程只读存储器(Serial Electrically Erasable Programmable Read-Only Memory,简称EEPROM)——25LC512。这个器件是...
25LC1024是一款常见的电可擦除可编程只读存储器(EEPROM),在电子设备中常用于数据存储。此压缩包文件包含了关于25LC1024芯片的操作资料,尤其是读写操作的说明。接下来,我们将详细讨论这款芯片的主要特点、工作...
此外,差分信号还可以有效提升电路的噪声容限,对于高速数字系统中的信号完整性来说,这一点至关重要。 在进行电路设计时,需要特别注意信号的带宽和频率。由于LC巴伦的带宽限制,它通常只适用于在中心工作频率附近...
LC滤波和LC-π型滤波电路是电子工程中常用的滤波技术,主要用于去除电源中的交流噪声,提供稳定的直流输出。这两种滤波电路在硬件设计和原理图设计中具有重要地位,尤其对于高精度电源系统和敏感电子设备至关重要。 ...
LC1860C 数据手册 一、概述 LC1860C 数据手册为使用 LC1860C 芯片的用户提供了详细的介绍,涵盖了芯片的功能特性、系统结构和各模块的基本信息。该手册适用于具备通信及软件编程方面基础知识的用户。 二、系统...
《24LC64存储器技术详解》 24LC64是一款常见的电可擦除只读存储器(EEPROM),广泛应用于各种电子设备中,如嵌入式系统、智能家居设备以及工业控制系统等。该器件提供了64千字节(8192 x 8位)的数据存储空间,具有...
LC3汇编编程工具是一种基于LC-3(Little Computer 3)指令集架构的模拟器,主要用于教育和学习汇编语言编程。LC-3是一种简化的计算机系统模型,设计用于帮助初学者理解计算机硬件和软件的基本工作原理。下面将详细...
总之,这份“LC3 使用指南-中文1”为 Windows 用户提供了一套完整的 LC-3 学习路径,从编写简单的程序到使用模拟器进行调试,再到深入理解 LC-3 的内部工作机制。通过实践和探索,读者可以逐步掌握 LC-3 汇编语言...
为了充分利用这个工具,建议用户先了解LC-3的基本指令集和架构原理,然后尝试编写简单的程序,逐步深入到更复杂的算法和数据结构。通过不断的实践和实验,可以有效地提高对计算机底层运作的理解。
LC3 Plus,全称为Low Complexity Communication Codec Plus,是一种先进的音频编解码技术,主要用于实现低延迟、高质量的音频传输。该算法在BLE(Bluetooth Low Energy)通信中扮演着重要角色,尤其是在物联网设备、...
在电子工程领域,LC谐振是至关重要的概念,它涉及到信号传输、滤波器设计、无线电通信等多个方面。LC谐振电路在特定频率下能够实现最高阻抗或最低阻抗,这个频率就被称为谐振频率。 首先,我们需要理解LC谐振的基本...
非常有用的 LC振荡频率计算器LC震荡频率计算工具lc调频振荡计算软件 简单易用,小巧精简,lc振荡频率计算器。调频振荡计算器,收音机频率,高频振荡计算软件,LC振荡频率计算软件。 无线振荡计算 LC计算公式 绿色...
LC滤波和LC-π型滤波电路是电子工程中常用的滤波技术,主要用于去除电源中的交流噪声,提供稳定的直流输出。这两种滤波电路在硬件设计中占据着重要的地位,尤其是在电源供应、信号处理和通信系统等领域。 首先,LC...
在这个"lc3tools_v12.zip"压缩包中,包含的是一个Linux版本的LC3汇编语言编译和仿真工具集,帮助用户将LC3汇编代码转化为机器码,并进行仿真运行。 首先,我们来详细了解一下LC3汇编语言。LC3汇编语言是由一系列...
LC振荡器是一种重要的电子设备,常用于无线通信、雷达系统和测试设备中,用于产生特定频率的电磁波。在本文中,我们将深入探讨一种电压控制的LC振荡器系统,该系统结合了压控振荡器(VCO)、数字锁相环(PLL)、...
LC 滤波电路分析 LC 滤波电路是指利用电感、电容和电阻的组合设计构成的滤波电路,主要用于除去某一次或多次谐波。LC 滤波电路可以分为无源滤波电路和有源滤波电路两大类。无源滤波电路是指不需要额外提供电源的...
标题"E_FIXED_LC/D_LC"以及描述"improving effectiveness by exploiting side information"提示我们,这可能涉及一种利用辅助信息提高系统效率的技术,特别是与数据编码或信号处理相关。在IT领域,"side information...
总结来说,LC7981在AVR上的驱动涉及到AVR的I/O操作、时序控制、LCD控制器的命令和数据传输,以及显示内容的内存管理。通过理解和应用这些知识点,你可以编写出高效、稳定的LC7981驱动程序,实现丰富的图形和文本显示...
总之,LC算法在MATLAB中的实现涉及到了动态规划思想,它能够有效地找出两个序列的最长公共子序列。这样的实现对于理解序列比较的原理,以及在MATLAB环境中进行序列分析问题的解决,都是非常有价值的。通过学习和实践...