首页 > 代码库 > hdu 1305 Immediate Decodability
hdu 1305 Immediate Decodability
用G++过了,c++无限WA
就是一水,就是求输入的字符串中是否有一个是其他字符串的子串;
注意这种数据。。。
0000
010
01
9
字符串的长度从大到小;
#include<stdio.h> #include<string.h> #include<iostream> using namespace std; char qq[20005]; struct node{ int q[2]; int w; node() { w=0; memset(q,-1,sizeof(q)); } }s[10000]; int sz=1; int show(char *qq) { int x=0,v=0; int len=strlen(qq); for(int i=0;i<len;i++) { int y=qq[i]-'0'; if(s[x].q[y]==-1) s[x].q[y]=sz++; if(s[x].w==1) v=1; x=s[x].q[y]; } if(s[x].w==1) v=1; s[x].w=1; if(s[x].q[0]!=-1||s[x].q[1]!=-1) v=1; return v; } void yy() { for(int i=0;i<10000;i++) {s[i].w=0; memset(s[i].q,-1,sizeof(s[i].q)); } } int main() { int t=0; while(gets(qq)!=NULL) { int u; if(qq[0]=='9') { t++; if(u==0) printf("Set %d is immediately decodable\n",t); else printf("Set %d is not immediately decodable\n",t); u=0; yy(); sz=1; continue; } if(u==1) continue; u=show(qq); } return 0; }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。