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 ;
}

最新文章

  1. ASP.NET Core 中文文档 第四章 MVC(3.6.1 )Tag Helpers 介绍
  2. 期望DP
  3. Android的消息处理机制Looper,Handler,Message
  4. 148. Sort List
  5. MySQL重置密码(OSX)
  6. 【前端JS、后台C#】编码解码。
  7. Kill命令模拟1
  8. PHP Curl模拟登录并抓取数据
  9. ngRx 官方示例分析 - 1. 介绍
  10. BZOJ 2142: 礼物 [Lucas定理]
  11. 【BZOJ4407】于神之怒加强版(莫比乌斯反演)
  12. sqlserver 判断字段是否为空字符串或者null
  13. VS2017下使用Git遇到的问题
  14. Mha-Atlas-MySQL高可用
  15. 码农眼中的数学之~矩阵专栏(附Numpy讲解)
  16. maya2018卸载/安装失败/如何彻底卸载清除干净maya2018注册表和文件的方法
  17. C# 数据结构基础-实现循环队列
  18. Java知多少(43)异常处理基础
  19. github如何删除新建仓库(致新手)
  20. CheckFail设计很垃圾

热门文章

  1. 在Windows 7和10上显示上次登录帐户信息
  2. R语言学习笔记2——绘图
  3. java中常见的math方法
  4. linux mysql命令行查看显示中文
  5. 数据库——MySQL——索引
  6. maven中的坐标和仓库
  7. UICollectionView的水平流水布局自定义layout
  8. 单文件版本的netframework的net core 2.1
  9. 浅谈vue,小程序,react基础绑定值
  10. vscode vue 项目保存运行lint进行代码修正