HDU 1671

来源:互联网 发布:杀破狼原唱js 编辑:程序博客网 时间:2024/05/06 13:18

AC代码:

#include<stdio.h>#include<string.h>#include<algorithm>#include<iostream>using namespace std;#define N 100010int cur;struct node{    int ans;    int next[10];    void init()    {        ans=0;        memset(next,-1,sizeof(next));    }}t[N];void in(char *s,int len){    int p=0;    for(int i=0; i<len; i++)    {        int x=s[i]-'0';        if(t[p].next[x]==-1)        {            cur++;            t[cur].init();            t[p].next[x]=cur;        }        p=t[p].next[x];        t[p].ans++;    }}void panduan(){    int i,j,count,p,flag;    for(i=1;i<=cur;i++)    {        count=0; flag=0;        for(j=0;j<10;j++)        {            if(t[i].next[j]==-1)            {                continue;            }            flag=1;            p=t[i].next[j];            count+=t[p].ans;        }        if(t[i].ans!=count&&flag)        {            printf("NO\n");            return;        }    }     printf("YES\n");}int main(){    int k,n;    scanf("%d",&k);    while(k--)    {        scanf("%d",&n);        char s[12];        t[0].init();        cur=0;        for(int i=0; i<n; i++)        {            scanf("%s",s);            int len1=strlen(s);            in(s,len1);        }        panduan();    }    return 0;}


0 0
原创粉丝点击