HDU5510 Bazinga (strstr())
来源:互联网 发布:增值税开票软件安装 编辑:程序博客网 时间:2024/06/05 17:55
Bazinga
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 4919 Accepted Submission(s): 1552
Problem Description
Ladies and gentlemen, please sit up straight.
Don't tilt your head. I'm serious.
Forn 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 stringSi is another string that occurs in Si . For example, ``ruiz" is a substring of ``ruizhang", and ``rzhang" is not a substring of ``ruizhang".
Don't tilt your head. I'm serious.
For
A substring of a string
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 integern (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 than2000 letters.
For each test case, the first line is the positive integer
All strings are given in lower-case letters and strings are no longer than
Output
For each test case, output the largest label you get. If it does not exist, output −1 .
Sample Input
45ababczabcabcdzabcd4youlovinyouaboutlovinyouallaboutlovinyou5dedefabcdabcdeabcdef3abaccc
Sample Output
Case #1: 4Case #2: -1Case #3: 4Case #4: 3
Source
2015ACM/ICPC亚洲区沈阳站-重现赛(感谢东北大学)
思路:用strstr匹配字符串,假设存在两个字符串i,j,(i < j),如果第i个字符串是第j个字符串的子串,则直接跳出循环即可,因为接下来完全可以用第j个字符串来代替第i个字符串,如果第i个字符串不是第j个字符串的子串,则标记第j个字符串,因为第j个字符串已经是我们要寻找的字符串,以后不用再匹配。
#include <cstdio>#include <cstring>#include <algorithm>using namespace std;int t,n,vis[510],cas=0;char str[510][2010];int main(){ scanf("%d",&t); while(t --){ scanf("%d",&n); for(int i = 1; i <= n; i ++) scanf("%s",str[i]); memset(vis,0,sizeof(vis)); int ans = -1; for(int i = 1; i <= n; i ++){ for(int j = i+1; j <= n; j ++){//如果第j个是第i个字符的母串,则没有必要再接着匹配下去 if(!vis[j]){ if(strstr(str[j],str[i])) break; else{//否则标记第j个字符串即可 vis[j] = 1; ans = max(ans,j); } } } } printf("Case #%d: %d\n",++cas,ans); } return 0;}
阅读全文
0 0
- HDU5510 Bazinga (strstr())
- HDU5510 Bazinga 暴力strstr+剪枝
- HDU5510 - Bazinga (kmp+暴力)
- hdu5510 Bazinga
- HDU5510 Bazinga
- HDU5510 Bazinga KMP+剪枝
- hdu5510 Bazinga 暴力+剪枝
- 【KMP+暴力】Bazinga hdu5510
- hdu5510-沈阳区域赛 Bazinga【KMP】
- HDU 5510 Bazinga 【strstr】
- 【HDU5510 2015沈阳赛区B】【KMP or strstr for循环剪枝】Bazinga 循环处思维灵活转化 时间复杂度均摊思想
- 字符串匹配(strstr)—— Bazinga ( HDU 5510 )
- HDU 5510 Bazinga(KMP||strstr神器+些许优化)
- HDU5510(KMP)
- hdu5510
- hdoj 5510 Bazinga 【不要想太多。。。 strstr】
- hdu 5510 Bazinga 剪枝+find()/strstr()/KMP
- Bazinga
- 生成带图片的DOC
- (19)数据库
- codeforces 293B
- 删除单词后缀
- Code HDU
- HDU5510 Bazinga (strstr())
- easyui-datagrid
- 安装weblogic事项
- AE构建获取栅格图层属性表(ITable)
- 第3次课结构化机器学习
- Educational Codeforces Round 29
- 排序算法之快速排序
- 前端开发性能优化
- python编码获取排列组合的全部情况数及Python内置函数获取排列组合