zoukankan      html  css  js  c++  java
  • UVA 644 Immediate Decodability

            排序后相似前缀就会相邻,那样就比较好处理了。

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    #define min(a, b) ((a)<(b)?(a):(b))
    
    char str[1000][100];
    
    int cmp(const void* _a, const void *_b) {
        char *a = (char*)_a;
        char *b = (char*)_b;
    
        return strcmp(a, b);
    }
    
    bool is_decode(int n) {
        int i, j, m;
        for (i=1; i<n; i++) {
            m = min(strlen(str[i-1]), strlen(str[i]));
            for (j=0; j<m; j++)
                if (str[i][j] != str[i-1][j])
                    break;
            if (j == m) return false;
        }
    
        return true;
    }
    
    int main() {
    
    
        int count = 1;
        while (scanf("%s", str[0]) != EOF) {
            int i = 1;
            while (scanf("%s", str[i]) && str[i][0] != '9')
                i++;
    
            qsort(str, i, sizeof (str[0]), cmp);
    
            if (is_decode(i))
                printf("Set %d is immediately decodable\n", count++);
            else
                printf("Set %d is not immediately decodable\n", count++);
    
        }
    
        return 0;
    }
    


     

  • 相关阅读:
    Ubuntu下RabbitMq 安装与运行
    web_api所需包
    Ubuntu16.04下安装python3.6.4详细步骤
    JavaScript
    css
    html
    MySQL
    day4 函数
    day3 字典,集合,文件
    day2
  • 原文地址:https://www.cnblogs.com/zcube/p/4194565.html
Copyright © 2011-2022 走看看