POJ 3630 Phone List

POJ 3630 Phone List

大家好,又见面了,我是全栈君。

Trie树。

题意是问某个数字可不可能是其它数字的前缀。

就是裸的字典树。排序然后插进去就好了。

#include<cstdio>
#include<cstring>
#include<string>
#include<queue>
#include<algorithm>
#include<map>
#include<stack>
#include<iostream>
#include<list>
#include<set>
#include<cmath>
#define INF 0x7fffffff
#define eps 1e-6
#define LL long long
using namespace std;
struct Trie
{
    int word[100001][10];
    int sz,cot;
    int ex[1000010];
    void intTrie()
    {
        sz=1;
        cot=1;
        memset(word[0],0,sizeof(word[0]));
        ex[0]=0;
    }
    int insert(char *s)
    {
        int u=0,c,len=strlen(s);
        int ans=0;
        for(int i=0; i<len; i++)
        {
            c=s[i]-'0';
            if(!word[u][c])
            {
                memset(word[sz],0,sizeof(word[sz]));
                ex[sz]=0;
                word[u][c]=sz++;
            }
            u=word[u][c];
            ans+=ex[u];
        }
        if(ex[u]==0)ex[u]=1;
        return ans;
    }
}wo;
struct lx
{
    char str[11];
}l[10001];
bool cmp(lx a,lx b)
{
    return strcmp(a.str,b.str)<0;
}
int main()
{
    int t,n;
    scanf("%d",&t);
    while(t--)
    {
        wo.intTrie();
        scanf("%d",&n);
        bool flag=0;
        for(int i=0;i<n;i++)
            scanf("%s",l[i].str);
        sort(l,l+n,cmp);
        for(int i=0;i<n;i++)
        {
            int ans=wo.insert(l[i].str);
            if(ans>0)
            {
                flag=1;break;
            }
        }
        if(flag)puts("NO");
        else puts("YES");
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/116617.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • zimbra OUTLOOK 收发邮件-ERR only valid after entering TLS mode

    zimbra OUTLOOK 收发邮件-ERR only valid after entering TLS mode

    2021年5月11日
    143
  • jpeg图像压缩算法流程详解_图像压缩最快算法

    jpeg图像压缩算法流程详解_图像压缩最快算法JPEG是Joint Photographic Exports Group的英文缩写,中文称之为联合图像专家小组。该小组隶属于ISO国际标准化组织,主要负责定制静态数字图像的编码方法,即所谓的JPEG算法。JPEG专家组开发了两种基本的压缩算法、两种熵编码方法、四种编码模式。如下所示:压缩算法:(1)有损的离散余弦变换DCT(Discrete Cosine Transform)(2)无

    2025年7月6日
    2
  • goland2021.3激活码破解方法「建议收藏」

    goland2021.3激活码破解方法,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月15日
    138
  • java图书馆新地址_基于SSM的社区图书馆管理系统的设计与实现[通俗易懂]

    java图书馆新地址_基于SSM的社区图书馆管理系统的设计与实现[通俗易懂]好程序设计擅长JAVA(SSM,SSH,SPRINGBOOT)、PYTHON(DJANGO/FLASK)、THINKPHP、C#、安卓、微信小程序、MYSQL、SQLSERVER等,欢迎咨询在学习社区图书馆管理系统的设计与实现项目的时候,方便日后能及时查阅,在本平台中记录一下社区图书馆管理系统的设计与实现的开发流程。在学习时候的选用了SSM(MYECLIPSE),这个框架…

    2022年7月9日
    81
  • linux文件共享 samba_文件共享服务

    linux文件共享 samba_文件共享服务Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成;SMB(ServerMessagesBlock,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务;SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统,

    2022年9月24日
    2
  • elementuitable样式更改_elementui下拉框

    elementuitable样式更改_elementui下拉框表格样式修改(表头高、表头边框、表格内边框、表格行高)//控制表头高度.el-table/deep/.el-table__headerth{padding:0;height:40px;line-height:40px;//表头边框设置border:solid#cccccc;border-width:1px0px0px1px;}//添加表格行边框.el-table/deep/td{border:solid#cccccc;border-width:1px0

    2022年9月17日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号