UVa213

/*本题学习的主要是对标准输入输出的处理
在在处理字符的时候可以一个一个的处理,即读取字符的时候一个一个处理,输出字符的时候也可以处理一个输出一个
在处理和标准输入输出时,需要注意的是'\n','\r'和EOF三个字符的处理,尤其是使用getchar()的时候。
另外的一个技巧是在while循环的时候,循环代码有一句必然执行,然后根据执行的结果判断是否继续执行剩下的循环代码
这时候可以在while判断中执行该语句,并且获得语句结果,然后在while判断语句中执行完判断,这样就不会有很多代码冗余
 
*/
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<stdio.h>
#include<vector>
#include<utility>
#include<unordered_set>
#include<unordered_map>
#include<string.h>
using namespace std;
 
#define nmax 10000
char mp[8][1<<8];
 
 
 
char readchar(){
    int ch;
    do{ch=getchar();}while(ch=='\n'||ch=='\r');
    return ch;
}
int readint(int c){
    int ans=0;
    while(c--)ans=ans*2+readchar()-'0';
    return ans;
}
int readcode(){
    memset(mp,0,sizeof(mp));
    mp[1][0]=readchar();
    for(int len=2;len<8;++len){
        for(int i=0;i<(1<<len)-1;++i){
            int ch=getchar();
            if(ch==EOF)return 0;
            else if(ch=='\n'||ch=='\r')return 1;
            else mp[len][i]=ch;
        }
    }
    return 1;
}
 
int main()
{
    while(readcode()){
        int cl,val=0;
        //printf("code is %s\n",);
        while((cl=readint(3))!=0){
            while((val=readint(cl))!=(1<<cl)-1)
                //printf("len is %d.val is %d\n",cl,val);
                putchar(mp[cl][val]);
        }
        putchar('\n');
    }
    return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值