PKU3630---tire

来源:互联网 发布:药理学 知乎 编辑:程序博客网 时间:2024/06/16 16:09

PS:代码

#include<iostream>#include<string>using namespace std;#define max 60010struct Node{bool flag;int nxt[10];};Node node[max];int loc;bool flag;void Init(){loc = 2;    flag = true;node[1].flag = false;for(int i=0;i<10;i++)node[1].nxt[i] = -1;}void Insert(char dec[],int len){int r = 1,pos;for(int i=0;i<len;i++){pos = dec[i]-'0';if(node[r].nxt[pos] == -1){node[r].nxt[pos] = loc;node[r].flag = false;if(i == len-1)            node[r].flag = true;for(int j=0;j<10;j++)    node[loc].nxt[j] = -1;r = loc;loc++;}else{if(node[r].flag || (i == len-1)){flag = false;return ;}else                r = node[r].nxt[pos];}}}int main(){int cas,n,len;char teleph[20];scanf("%d",&cas);while(cas--){Init();scanf("%d",&n);while(n--){scanf("%s",teleph);len = strlen(teleph);if(flag)    Insert(teleph,len);}if(flag)             printf("YES\n");else             printf("NO\n");}return 0;}


 

原创粉丝点击