JSK 糟糕的bug
题目居然复制不了(QAQ)
分析
TrieJSK已经2比较详细了,就不再单独写博客了,此题相较于Trie模板有一点不同,此题要求比较前缀却没有规定前面是后面的前缀还是后面是前面的前缀,所以我们要先将所有串添加到Trie中,然后再全部查询,如果出现一次直接输出“Bug!”然后跳出循环
代码
#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<algorithm>
#include<cctype>
#include<cmath>
#include<cstdlib>
#include<queue>
#include<ctime>
#include<vector>
#include<set>
#include<map>
#include<stack>
using namespace std;
int trie[243333][30],cnt,sum[300000];
string s[300000];
void add(string t){
int n=t.length();
int i,j,k,p=0;
for(i=0;i<n;i++){
if(!trie[p][t[i]-'a']){
trie[p][t[i]-'a']=++cnt;
}
p=trie[p][t[i]-'a'];
}
sum[p]++;
}
int fid(string t){
int n=t.length();
int i,j,k,p=0;
for(i=0;i<n;i++){
if(sum[p])return 1;
p=trie[p][t[i]-'a'];
}
return 0;
}
int main()
{ int n,m,i,j,k;
cin>>n;
for(i=1;i<=n;i++){
cin>>s[i];
add(s[i]);
}
for(i=1;i<=n;i++)
if(fid(s[i])){
puts("Bug!");
return 0;
}
puts("Good Luck!");
return 0;
}
最新文章
- 【Win 10应用开发】自定义浮动层——Flyout
- CentOS添加163源
- 错误:The method replace(int, Fragment) in the type FragmentTransaction is not applicable for the arguments (int, MyFragment)
- jQuery关于Select的操作
- 怎么用ABBYY打开PDF文档
- try catch语句在VC下的处理
- Spket在Eclipse/MyEclipse下的安装和配置(图文教程)
- Gridview中奇偶数行颜色设置
- Error C1189: #error: Please use the /MD switch for _AFXDLL builds
- 【转】解决UpdatePanel 与 jQuery的冲突
- 米扑代理示例(mimvp-proxy-demo)
- Linux学习总结(十)—— Java开发环境搭建:JDK+Maven
- lvs学习笔记
- 第二章 Android系统与嵌入式开发
- 3. 原子变量-CAS算法
- 【移动端】单位em相关资料
- Shell 脚本批量创建数据库表
- POJ 1144 Network(tarjan 求割点个数)
- Java 过滤特殊字符的 正则表达式
- 【转】TCP/IP详解学习笔记(一)