uvaoj 213 - Message Decoding(二进制,输入技巧)
https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=149
跨行读字符的函数readchar() 可以学习一下
把编码理解成二进制,用(len,value)这个二元组来表示一个编码,其中len是编码长度,value是编码对应的十进制数值
用code[len][value]保存这个编码所对应的字符
#include<bits/stdc++.h>
using namespace std;
int code[][<<];
int readchar()
{
for(;;)
{
int ch=getchar();
if(ch!='\n'&&ch!='\r')return ch;
}
}
int readint(int c)//读取接下来c个二进制字符,并返回十进制
{
int v=;
while(c--)v=v*+readchar()-'';
return v;
}
int readcodes()
{
memset(code,,sizeof(code));
code[][]=readchar();
for(int len=;len<=;len++)
{
for(int i=;i<(<<len)-;i++)
{
int ch=getchar();
if(ch==EOF)return ;
if(ch=='\n'||ch=='\r')return ;
code[len][i]=ch;
}
}
return ;
}
int main()
{
while(readcodes())
{
for(;;)
{
int len=readint();
if(len==)break;
for(;;)
{
int v=readint(len);
if(v==(<<len)-)break;
putchar(code[len][v]);
}
}
putchar('\n');
}
return ;
}
uvaoj 213 - Message Decoding(二进制,输入技巧)的更多相关文章
- UVA - 213 Message Decoding (输入字符串并对单个字符进行操作的输入输出)
POINT: 关于表示一个编码:利用code字符数组表示一个编码字符,其中code[len][val]表示长度为len,二进制值为val的字符: 主程序如下: #include <iostrea ...
- UVa 213 Message Decoding(World Finals1991,串)
Message Decoding Some message encoding schemes require that an encoded message be sent in two part ...
- uva 213 Message Decoding
思路来自紫书...开始时的思路估计100行+,果断放弃!关键:1.正确提取出函数! initmap():初始化字母与整数的映射. returnint(x):向后读取x位,并转换为十进制数返回. ...
- UVA 213 Message Decoding 【模拟】
题目链接: https://cn.vjudge.net/problem/UVA-213 https://uva.onlinejudge.org/index.php?option=com_onlinej ...
- 【每日一题】 UVA - 213 Message Decoding 模拟解码+读入函数+阅读题
题意:阅读理解难度一道比一道难orz.手摸了好久样例 题解: 读入:大循环用getline读入header顺便处理一下, 里面再写两重循环,外层一次读三个串,内层一次读num个串. 之后就查表,线性 ...
- uva 213 - Message Decoding (我认为我的方法要比书上少非常多代码,不保证好……)
#include<stdio.h> #include<math.h> #include<string.h> char s[250]; char a[10][250] ...
- Message Decoding UVA - 213
Some message encoding schemes require that an encoded message be sent in two parts. The fifirst par ...
- 【例题 4-4 uva 213】Message Decoding
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 输入的二进制长度最长为7 所以得开个sta[7][2^7]的样子才存的下所有的字符的.. 定义这么一个数组当字典. 然后一个字符一个 ...
- 4_4 信息解码(UVa213)<二进制:输入技巧与调试技巧>
消息编码方案要求在两个部分中发送一个被编码的消息.第一部分:称为头,包含消息的字符.第二部分包含一个模式 表示信息.你必须写一个程序,可以解码这个消息. 你的程序的编码方案的核心是一个序列的“0和1” ...
随机推荐
- 生成并部署SSH key
1.如何生成ssh公钥 你可以按如下命令来生成 sshkey: ssh-keygen -t rsa -C "xxxxx@xxxxx.com" # Generating public ...
- CentOS 7安装简介及基本操作
计算机基本概念: 1.计算机硬件组成: 2.计算机系统结构: 3.操作系统的功能:硬件驱动.进程管理.内存管理.网络管理.安全管理.文件管理等. 4.OS通用目的的软件程序:用户<-->应 ...
- Objective-C中,ARC下的 strong和weak指针原理解释
Objective-C中,ARC下的 strong和weak指针原理解释 提示:本文中所说的"实例变量"即是"成员变量","局部变量"即是& ...
- 大数据框架-YARN
YARN(Yet Another Resource Negotiator): 是一种新的 Hadoop 资源管理器 [ResourceManager:纯粹的调度器,基于应用程序对资源的需求进行调度的, ...
- js中两个日期大小比较,获取当前日期,日期加减一天
一.两个日期大小比较 1.日期参数格式:yyyy-mm-dd // a: 日期a, b: 日期b, flag: 返回的结果 function duibi(a, b,flag) { var arr = ...
- 「PHP」简单工厂模式
引言 所属:创建型模式,常用设计模式之一 工厂模式分为:简单工厂模式.工厂方法模式.静态工厂模式.抽象工厂模式. 下面为简单工厂模式. 参考资料: <大话设计模式>程杰 模式概 ...
- 【转】Red5流服务器搭建(实现在线直播,流媒体视频播放和在线视频会议)
来自:http://blog.csdn.net/sunroyi666/article/details/52981639 一. 先介绍一下流媒体技术:所谓流媒体技术,是指将连续的影像和声音信息经过压缩处 ...
- Currency Helper
using System; using Microsoft.Xrm.Sdk; using Microsoft.Crm.Sdk.Messages; /// <summary> /// 货币 ...
- 自添加LUCI菜单及编译为ipk
目录 添加汉化编译为ipk配置文件入口函数界面文件Makefile 添加 添加自己的luci界面,有3个必要的要素: a配置文件.新建一个在/etc/config/abcdefg b入口函数.新建一个 ...
- 20190129-‘abcdefgh’里面挑出3个字母进行组合,一共有多少组合
一. 百度面试题‘abcdefgh’里面挑出3个字母进行组合,一共有多少组合,要求3个字母中不能有重复的组合,三个字母同时出现的次数只能出现一次,如出现了abc就不能出现cab,bca等 思路: 1. ...