Bazinga

Time Limit: 20 Sec

Memory Limit: 256 MB

题目连接

http://acm.hdu.edu.cn/showproblem.php?pid=5510

Description

Ladies and gentlemen, please sit up straight.
Don't tilt your head. I'm serious.

For n given strings S1,S2,⋯,Sn, labelled from 1 to n, you should find the largest i (1≤i≤n) such that there exists an integer j (1≤j<i) and Sj is not a substring of Si.

A substring of a string Si is another string that occurs in Si. For example, ``ruiz" is a substring of ``ruizhang", and ``rzhang" is not a substring of ``ruizhang".

Input

The first line contains an integer t (1≤t≤50) which is the number of test cases.
For each test case, the first line is the positive integer n (1≤n≤500) and in the following n lines list are the strings S1,S2,⋯,Sn.
All strings are given in lower-case letters and strings are no longer than 2000 letters.

Output

For each test case, output the largest label you get. If it does not exist, output −1.

Sample Input

4
5
ab
abc
zabc
abcd
zabcd
4
you
lovinyou
aboutlovinyou
allaboutlovinyou
5
de
def
abcd
abcde
abcdef
3
a
ba
ccc

Sample Output

Case #1: 4Case #2: -1Case #3: 4Case #4: 3

HINT

题意

你需要找到一个最大的i使得,存在一个在他前面的字符串不是他的子串

题解:

就暴力匹配就好了,然后加一个剪枝,如果这个字符串是某个字符串的子串的话,就不用检查他了(讲道理的话,这个剪枝是没有用的,因为全部都不是子串的话,这个剪枝没有一点卵用。只是数据出水了而已……

正解应该是后缀自动机?AC自动机?

出题人的意思是只用检查相邻的两个字符串,好像很有道理的样子~

代码

#include<iostream>
#include<stdio.h>
#include<cstring>
using namespace std;char s[550][2005];
int vis[550];
int main()
{int t;scanf("%d",&t);for(int cas=1;cas<=t;cas++){memset(vis,0,sizeof(vis));int n;scanf("%d",&n);int flag = 0;for(int i=1;i<=n;i++){scanf("%s",s[i]);for(int j=i-1;j>=1;j--){if(vis[j])continue;if(strstr(s[i],s[j])==NULL)flag=i;else vis[j]=1;}}if(!flag)printf("Case #%d: -1\n",cas);elseprintf("Case #%d: %d\n",cas,flag);}
}

转载于:https://www.cnblogs.com/qscqesze/p/4929963.html

HDU 5510 Bazinga 暴力匹配加剪枝相关推荐

  1. HDU 5510 Bazinga

    HDU 5510 Bazinga 题意: 依次给你n个字符串,让你找到编号最大的字符串,存在一个比他编号小的字符串且不是其子串 题解: string中有find查找功能, 思路是用一个vector来存 ...

  2. HDU 5510 Bazinga(kmp)

    题目戳这 题意:给你n个串,让你找到一个串,这个串的前面至少有一个不是它的子串,并且这个串要尽量靠后. 思路:弄两个变量当做指针来使,定义变量名为 l 和 r ,然后线性地往后面扫,如果s[l]不是s ...

  3. ac自动机 匹配最长前缀_别再暴力匹配字符串了,高效的KMP,才是真的香

    如果你想了解KMP算法,请静下心读完这篇文章,一定不会辜负你的时间 暴力匹配(BF) 字符串匹配是我们在编程中常见的问题,其中从一个字符串(主串)中检测出另一个字符串(模式串)是一个非常经典的问题,当 ...

  4. LeetCode 1023. 驼峰式匹配(暴力匹配)

    1. 题目 如果我们可以将小写字母插入模式串 pattern 得到待查询项 query,那么待查询项与给定模式串匹配.(我们可以在任何位置插入每个字符,也可以插入 0 个字符.) 给定待查询列表 qu ...

  5. DFS 如何避免重复母题 Leetcode 077组合(人为规定选取顺序:本题为只能从前往后选,好马不吃回头草)(类似题:Leetcode047全排列(可能含重复元素)-回溯法加剪枝)

    类似题 Leetcode047全排列(可能含重复元素)-----------回溯法加剪枝 https://blog.csdn.net/qq_52934831/article/details/11957 ...

  6. (02)Cartographer源码无死角解析-(50) 2D点云扫描匹配→相关性暴力匹配2:RealTimeCorrelativeScanMatcher2D

    讲解关于slam一系列文章汇总链接:史上最全slam从零开始,针对于本栏目讲解(02)Cartographer源码无死角解析-链接如下: (02)Cartographer源码无死角解析- (00)目录 ...

  7. 暴力匹配与FLANN

    1.暴力匹配与FLANN的匹配时间比较 当ORB特征点为1000时,FLANN慢于暴力匹配,当ORB特征点>=1500时,FLANN时间少于暴力匹配. 特征点数目1000:(以下第一是FLANN ...

  8. 【gif图文】KMP算法(从暴力匹配到快速匹配)

    从暴力匹配到快速匹配(KMP算法) 学习kmp算法前,首先要先了解什么是kmp算法,kmp算法具体优点是什么,kmp的主要应用方向在哪. 然后才是,代码实现 带着以上问题,我们来一步一步学习kmp算法 ...

  9. hdu 1281棋盘游戏(二分匹配)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1281 Problem Description 小希和Gardon在玩一个游戏:对一个N*M的棋盘,在格 ...

最新文章

  1. 小程序将form表单数据写入云数据库
  2. AI也用思维导图:教它像人类一样高效规划
  3. 史上最全的SpringMVC学习笔记
  4. java对象是如何创建的
  5. 逆向so_安卓逆向 | 分析调试与so调用实战
  6. [BZOJ4719][P1600][NOIP2016]天天爱跑步[LCA+dfs序+差分]
  7. 民营企业IT项目管理之路2
  8. 来拥抱星辰大海吧!中国风云气象卫星系列数字藏品荣耀首发
  9. android禁止录屏后键盘,怎样取消华为按键录屏功能 | 手游网游页游攻略大全
  10. plink遗传数据质控--每个个体QC、每个marker(变异)质控、全基因组关联meta分析QC
  11. Windows启动配置数据(BCD)存储文件包含一些无效信息
  12. selenium2(webdriver)的“兄弟姐妹”
  13. 硬替换WIN10雅黑和宋体的苹方字体
  14. AMAX服务器安装双系统(win10,Ubuntu)记要
  15. Hololens 开发笔记(10)——World Anchor
  16. 已知椭圆的一般方程求得几何中心、长短半轴的公式
  17. 如何解析微信的语音文件
  18. 离线数仓搭建_16_Azkaban全流程调度
  19. ff14服务器最新,ff14 2018年服务器 | 手游网游页游攻略大全
  20. 武汉云数时代网络科技有限公司网店代运营信誉度靠谱

热门文章

  1. 性能测试oracle瓶颈定位,性能测试中如何定位性能瓶颈
  2. java jstack 工具_java命令之jstack工具
  3. Python自动化办公——xlrd、xlwt读写Excel
  4. LeetCode 1332. 删除回文子序列
  5. POJ 1581 优先队列 priority_queue -- 比赛胜者求解
  6. linux webservice端口号,解决在Linux环境下访问webservice发送中文乱码问题的方案
  7. 网站搜索功能怎么实现_电商网站上的搜索功能是如何实现的?
  8. npm全局环境变量配置及解决VsCode使用时遇到的问题
  9. 一建机电实务教材电子版_2020一建教材+章节习题+新旧教材对比【全科】免费送...
  10. 图灵奖大佬+谷歌团队,为通用人工智能背书!CV 任务也能用 LM 建模!