Phone List HDU1671
Posted bxd123
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Phone List HDU1671相关的知识,希望对你有一定的参考价值。
字典树的包含与不包含关系
#include<bits/stdc++.h> using namespace std; int trie[400100][10]; int sum[400100]; int pos=0; bool insert1( char *word ) { int root=0; for(int i=0;i<strlen(word);i++) { int ch=word[i]-‘0‘; if(trie[root][ ch ]==0) trie[root][ ch ]=++pos; if(sum[root]==2&&root!=0)return false; sum[root]=1; root=trie[root][ch]; } if(sum[root]!=1) sum[root]=2; else return false; return true; } int main() { int cas;scanf("%d",&cas); while(cas--) { pos=0; int n; memset(sum,false,sizeof(sum)); memset(trie,0,sizeof(trie)); char word[11]; scanf("%d",&n); int ok=1; while(n--) { scanf("%s",word); if(ok==0)continue; if(!insert1(word)){ok=0;} } if(ok)printf("YES "); else printf("NO "); } }
以上是关于Phone List HDU1671的主要内容,如果未能解决你的问题,请参考以下文章