zoukankan      html  css  js  c++  java
  • UVA213 UVALive5152 Message Decoding

    World Finals >> 1991 - San Antonio

    问题链接:UVA213 UVALive5152 Message Decoding

    问题简述:参见问题链接。

    问题分析:(略)。

    程序中,若干功能封装到函数中,使得程序逻辑变得简洁。

    AC的C语言程序如下:

    /* UVA213 UVALive5152 Message Decoding */
    
    #include <stdio.h>
    #include <memory.h>
    
    #define CODE_LEN 7
    
    int code[CODE_LEN+1][1<<(CODE_LEN+1)];
    
    int readchar()
    {
        int c;
    
        while((c=getchar()) && (c == '
    ' || c == '
    '));
    
        return c;
    }
    
    int readcodes()
    {
        int i, j;
        char c;
    
        memset(code, 0, sizeof(code));
    
        code[1][0] = readchar();
    
        for(i=2; i<=CODE_LEN; i++) {
            int len = (1<<i)-1;
            for(j=0; j<len; j++) {
                if((c = getchar()) == EOF)
                    return 0;
                else if(c == '
    ' || c == '
    ')
                    return 1;
                code[i][j] = c;
            }
        }
    
        return 1;
    }
    
    int readint(int len)
    {
        int v = 0;
    
        while(len--)
            v = v * 2 + readchar() - '0';
    
        return v;
    }
    
    int main(void)
    {
        while(readcodes()) {
            for(;;) {
                int len = readint(3);
                if(len == 0)
                    break;
                for(;;) {
                    int v = readint(len);
                    if(v == (1 << len) - 1)
                        break;
                    putchar(code[len][v]);
                }
            }
            putchar('
    ');
        }
    
        return 0;
    }


  • 相关阅读:
    HUST 1017 Exact cover (Dancing links)
    HDU 1160 FatMouse's Speed (DP)
    HDU 1058 Humble Numbers (DP)
    Kubernetes(k8s)
    linux命令
    入侵检测系统
    lynis检测
    CPU死锁
    检测工具lynis
    Linux表面工作
  • 原文地址:https://www.cnblogs.com/tigerisland/p/7564417.html
Copyright © 2011-2022 走看看