UVA-213

//#define ABC
#include<cstdio>
#include<iostream>
#include<cstring>
#include<cmath>
using namespace std;
int code[8][1<<8];
//代码中用到了<<,代表移位,比如1<<len,就代表1的二进制表示向左移动len位,结果为1*2^len
int readchar()
{
    while(1)
    {
        int ch=getchar();
        if(ch!='\n'&&ch!='\r')
            return ch;
    }
}
int readint(int c)  //将输入的二进制数转化为十进制
{
    int v=0;
    while(c--)
        v=v*2+readchar()-'0';
    return v;
}
int readcodes()     //读取编码头code
{
    memset(code,0,sizeof(code));
    code[1][0]=readchar();
    for(int len=2;len<=7;len++)
    {
        for(int i=0;i<(1<<len)-1;i++)
        {
            int ch=getchar();
            if(ch==EOF) return 0;   //如果输入为EOF,结束输入
            if(ch=='\n'||ch=='\r')   return 1;  //输入\n||\r代表编码头输入完成
            code[len][i]=ch;    //i代表的就是[len][value]中的value的值
        }
    }
    return 1;
}
int main()
{
    #ifdef  ABC
    freopen("C:/test/in.txt","r",stdin);
    freopen("C:/test/out.txt","w",stdout);
    #endif
    while(readcodes())
    {
        while(1)
        {
            int len=readint(3);
            if(len==0)  break;      //三位都为0表示编码结束
            while(1)
            {
                int v=readint(len);
                if(v==(1<<len)-1)   break;   //各位都为1表示小节的结束
                putchar(code[len][v]);
            } 
        }
        putchar('\n');  //printf("\n");
    }
}

相关推荐

  1. UVA-213

    2024-02-04 22:56:01       56 阅读
  2. 1599 - Ideal Path (UVA

    2024-02-04 22:56:01       63 阅读
  3. 439 - Knight Moves (UVA

    2024-02-04 22:56:01       71 阅读
  4. UVA489 - Hangman Judge

    2024-02-04 22:56:01       37 阅读
  5. 129 - Krypton Factor (UVA

    2024-02-04 22:56:01       64 阅读
  6. Compound Words(UVA 10391)

    2024-02-04 22:56:01       49 阅读
  7. Dropping Balls(UVA 679)

    2024-02-04 22:56:01       38 阅读
  8. Knight Moves(UVA 439)

    2024-02-04 22:56:01       47 阅读
  9. Maximum Product(UVA 11059)

    2024-02-04 22:56:01       39 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-04 22:56:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-04 22:56:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-02-04 22:56:01       87 阅读
  4. Python语言-面向对象

    2024-02-04 22:56:01       96 阅读

热门阅读

  1. QCoro: Qt C++ 20 协程库介绍

    2024-02-04 22:56:01       52 阅读
  2. element-ui上传图片组件封装

    2024-02-04 22:56:01       40 阅读
  3. 【如何快速上手Vue.js框架——详细介绍】

    2024-02-04 22:56:01       48 阅读
  4. 【从零开始学设计模式】第三章_工厂模式

    2024-02-04 22:56:01       49 阅读
  5. Spring- FactoryBean接口中的getObject()方法

    2024-02-04 22:56:01       57 阅读
  6. C#学习(十二)——Linq

    2024-02-04 22:56:01       44 阅读
  7. 记录一下怎么重装服务器

    2024-02-04 22:56:01       52 阅读
  8. Qt应用软件【数据篇】大小端数据转换

    2024-02-04 22:56:01       54 阅读
  9. 面试中会遇到的VUE问题

    2024-02-04 22:56:01       53 阅读
  10. SQL语言

    SQL语言

    2024-02-04 22:56:01      36 阅读