社区讨论

求查错(不是新人,也不是大佬)

SP4033PHONELST - Phone List参与者 1已保存回复 0

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
0 条
当前快照
1 份
快照标识符
@mi7rrp36
此快照首次捕获于
2025/11/21 02:33
4 个月前
此快照最后确认于
2025/11/21 02:33
4 个月前
查看原帖
一道字典树的板子题
C
#include<bits/stdc++.h>
using namespace std;

const int N=1e5+5,Z=10;
int T,n,tot;
int ch[N][Z];
bool bo[N];
char s[20];

int insert(char *s)
{
    int len=strlen(s),u=1;
    bool flag=false;
    for(int i=0;i<len;i++)
    {
        int c=s[i]-'0';
        if(!ch[u][c])
            ch[u][c]=++tot;
        else if(i==len-1) flag=true;
            u=ch[u][c];
        if(bo[u]) flag=true;
    }
    bo[u]=1;
    return flag;
}
int main()
{
    scanf("%d",&T);
    while(T--)
    {
        scanf("%d",&n);
        tot=1;
        memset(ch,0,sizeof(ch));
        memset(bo,false,sizeof(bo));
        bool ans=false;
        for(int i=1;i<=n;i++)
        {
            scanf("%s",s);
            if(insert(s)) ans=true;
        }
        if(ans) puts("YES");
        else puts("NO");
    }
    return 0;
}
祝Debug的人新年快乐,年年有余,万事如意,阖家欢乐,学业有成,工作顺利,早生贵子,新的一年会开开心心的!

回复

0 条回复,欢迎继续交流。

正在加载回复...