zoukankan      html  css  js  c++  java
  • poj 1056 IMMEDIATE DECODABILITY

    trie树模板题。题目主要是看前缀,因此只要碰到染色节点就false就行了。

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #define root 1
    using namespace std;
    int cnt=0,cntnode=1;
    int child[1005][15],flag[1005];
    char s[1005];
    bool insert(int x,int num,int limit)
    {
    int r;
    if (s[num]=='0') r=0;
    else r=1;
    if (flag[x]==1) return false;
    else
    {
    if (child[x][r]==0)
    {
    child[x][r]=++cntnode;
    if (num!=limit) return insert(child[x][r],num+1,limit);
    }
    else
    if (num!=limit) return insert(child[x][r],num+1,limit);
    if (num==limit)
    {
    if (flag[child[x][r]]==1) return false;
    flag[child[x][r]]=1;
    return true;
    }
    }
    }
    int main()
    {
    while (scanf("%s",s)!=EOF)
    {
    int judge=0;
    cnt++;
    memset(child,0,sizeof(child));
    memset(flag,0,sizeof(flag));
    cntnode=1;
    int l=strlen(s);
    if (insert(root,0,l-1)==false) judge=1;
    for (;;)
    {
    scanf("%s",s);
    int l=strlen(s);
    if (s[0]=='9') break;
    if (insert(root,0,l-1)==false) judge=1;
    }
    if (judge==0) printf("Set %d is immediately decodable ",cnt);
    else printf("Set %d is not immediately decodable ",cnt);
    }
    return 0;
    }

  • 相关阅读:
    个人总结05
    微软拼音的用户体验
    个人总结04
    典型用户和用户场景模式
    个人总结03
    个人总结02
    构建之法阅读笔记06
    个人总结01
    学习进度条——第七周
    WebApi学习总结系列第五篇(消息处理管道)
  • 原文地址:https://www.cnblogs.com/ziliuziliu/p/5111696.html
Copyright © 2011-2022 走看看