zoukankan      html  css  js  c++  java
  • POJ3630:Phone List——题解

    http://poj.org/problem?id=3630

    简单的trie树问题,先添加,然后每个跑一边看中途有没有被打上结束标记即可。

    #include<cstdio>
    #include<cstring>
    using namespace std;
    struct node{
        bool ed;
        int son[11];
        void clear(){
        memset(son,0,sizeof(son));
        ed=0;
        }
    }tree[100001];
    char s[10001][11];
    int tot;
    void insert(int k){
        int l=strlen(s[k]);
        int now=1;
        for(int i=0;i<l;i++){
        if(tree[now].son[s[k][i]-'0']==0){
            tot++;
            tree[now].son[s[k][i]-'0']=tot;
        }
        now=tree[now].son[s[k][i]-'0'];
        }
        tree[now].ed=1;
        return;
    }
    bool check(int k){
        int l=strlen(s[k]);
        int now=1;
        for(int i=0;i<l;i++){
        if(tree[now].son[s[k][i]-'0']==0){
            return 0;
        }
        if(tree[now].ed)return 1;
        now=tree[now].son[s[k][i]-'0'];
        }
        return 0;
    }
    int main(){
        int t;
        scanf("%d",&t);
        while(t--){
        for(int i=1;i<=100000;i++)tree[i].clear();
        tot=1;
        int n;bool ok=0;
        scanf("%d",&n);
        for(int i=1;i<=n;i++){
            scanf("%s",s[i]);
            insert(i);
        }
        for(int i=1;i<=n;i++){
            if(check(i)){
            ok=1;
            break;
            }
        }
        if(ok==1)printf("NO
    ");
        else printf("YES
    ");
        }
        return 0;
    }
  • 相关阅读:
    mysql-主主配置
    PHP安装-centos7
    mysql-M-S-S模型 中继器 级联
    安装mysql数据库-centos7
    正则表达式
    DJango安装-windows
    flask安装
    python安装centos7
    Linux——C库
    文件I/O
  • 原文地址:https://www.cnblogs.com/luyouqi233/p/7859297.html
Copyright © 2011-2022 走看看