UVa-213 Message Decoding

3289 단어 message
어려운 문제!또 루지의 코드를 참고했다.여러 번 봤는데 손싸움을 기억과 이해로 한 번씩이나.
#include<iostream>

#include<cstdio>

#include<cstring>

using namespace std;

char code[8][1<<8];

bool readcode()

{

    memset(code,0,sizeof(code));

    for(int i=1;i<=7;i++)

        for(int j=0;j<(1<<i)-1;j++)

        {

            char ch=getchar();

            if(ch==EOF) return 0;

            if(ch=='
'
) return 1; code[i][j]=ch; } } int readchar() { char ch; while((ch=getchar())=='
'
){} return ch-'0'; } int readint(int n) { int a=0; while(n--) a+=readchar()*(1<<n); return a; } int main() { //freopen("in.txt","r",stdin); while(readcode()) { while(1) { int len=readint(3); if(len==0) break; while(1) { int p=readint(len); if(p==(1<<len)-1) break; cout<<code[len][p]; } } getchar(); cout<<endl; } }

좋은 웹페이지 즐겨찾기