HDOJ 5311 Hidden String(枚举)
2015-12-07 18:44
337 查看
Hidden String
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)Total Submission(s): 1715 Accepted Submission(s): 604
[align=left]Problem Description[/align]
Today is the 1st anniversary of BestCoder. Soda, the contest manager, gets a string
s
of length n.
He wants to find three nonoverlapping substrings s[l1..r1],
s[l2..r2],
s[l3..r3]
that:
1. 1≤l1≤r1<l2≤r2<l3≤r3≤n
2. The concatenation of s[l1..r1],
s[l2..r2],
s[l3..r3]
is "anniversary".
[align=left]Input[/align]
There are multiple test cases. The first line of input contains an integer
T
(1≤T≤100),
indicating the number of test cases. For each test case:
There's a line containing a string s
(1≤|s|≤100)
consisting of lowercase English letters.
[align=left]Output[/align]
For each test case, output "YES" (without the quotes) if Soda can find such thress substrings, otherwise output "NO" (without the quotes).
[align=left]Sample Input[/align]
2
annivddfdersewwefary
nniversarya
[align=left]Sample Output[/align]
YES
NO
题意:在给出的串中是否存在三个子串可以连接成anniversary,且这三个串在给出的串中的位置是依序的不存在重叠。
一直想着KMP怎么搞,原来给出串长度才100,暴力就行了。先在anniversary串中枚举三个子串,再在给出的串中按序查找是否存在这些串就行了,简直水题,我真是智障。。。
代码如下:
#include<iostream> #include<cstdio> #include<string> #include<cstring> #include<algorithm> using namespace std; string s="anniversary"; string str,s1,s2,s3; int len_s,len_str; int main() { int sign,t,i,j,k; scanf("%d",&t); while(t--) { cin>>str; len_s=s.length(); len_str=str.length(); sign=0; for(i=1;i<=len_s-2;++i)//i表示第一个串的长度 { for(j=1;j<=len_s-1-i;++j)//j表示第二个串的长度 { k=len_s-i-j;//k表示第三个串的长度 s1=s.substr(0,i);//从0位开始往后截取i长度的串 s2=s.substr(i,j); s3=s.substr(j+i,k); int st1=str.find(s1,0);//从第0位开始找s1,找到返回s1串存在的地址,找不到返回-1 if(st1==-1)//第一个串错误了,直接跳出确定第二个串的循环 break; int st2=str.find(s2,st1+i); if(st2==-1) continue; int st3=str.find(s3,st2+j); if(st3==-1) continue; sign=1; printf("YES\n"); break; } if(sign) break; } if(!sign) printf("NO\n"); } return 0; }
相关文章推荐
- string,wstring互转
- java字符串截取
- superword开源项目中的定义相似规则
- YZR.Data 事务处理(Tranaction)
- artDialog学习文档
- MySQL字符集设置—MySQL数据库乱码问题 本篇文章来源于 Linux公社网站(www.linuxidc.com) 原文链接:http://www.linuxidc.com/Linux/2011-01/31531.htm
- opcache effect
- 关于APK瘦身值得分享的一些经验
- week14---12月8日 JS内置对象——string、Date
- javaweb实现在百度地图上的轨迹回放功能,action传入大量的参数到JSP的JavaScript中,实现绘制轨迹功能
- junit测试时,出现java.lang.IllegalStateException: Failed to load ApplicationContext
- 如何用MAT分析Android应用内存泄露
- TCHAR 与const wchar_t *等的转换
- 基础总结篇之二:Activity的四种launchMode
- 快速入门系列--TSQL-01基础概念
- 借鉴前辈的总结!substring()
- Unity3D细节整理:AssetBundle对应的各种格式文件的类型
- 增加操作审计到本地
- 【详解】Python下载文件
- mount 网络文件夹