HDU 5311:Hidden String【字符串】
2015-12-12 10:20
253 查看
Hidden String
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)Total Submission(s): 1738 Accepted Submission(s): 612
[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分成三段,枚举每段的长度,分析是否有符合条件的。。。
AC-code:
#include<cstdio> #include<cstring> int main() { int T,i,j,flag,l; char s[105],str[]="anniversary"; scanf("%d",&T); getchar(); while(T--) { gets(s); l=strlen(s); int flag=0; for(i=0;i<=8;i++) { for(j=i+1;j<=9;j++) { int k=0; while(k<l&&strncmp(s+k,str,i+1)!=0) k++; if(k==l) break; k+=i+1; while(k<l&&strncmp(s+k,str+i+1,j-i)!=0) k++; if(k==l) break; k+=j-i; while(k<l&&strncmp(s+k,str+j+1,10-j)!=0) k++; if(k!=l) { flag=1; break; } } if(flag) break; } if(flag) puts("YES"); else puts("NO"); } return 0; }
相关文章推荐
- modelism写入txt
- 关于后缀数组的倍增算法和height数组
- 免费的编程中文书籍索引
- jQuery Validate初步体验(二)
- HDU 1038 求路程与速度 (单位转换)
- 九度1531-货币面值问题
- hdu 5073 Galaxy(2014acm鞍山亚洲分部 C)
- 【菜鸟学Java】5:“徒手”创建一个Web应用
- svn Tortoise安装、使用说明
- LSB 简介
- lesson 4 Show Messages in Messagebox
- thinkphp基于角色的权限控制详解
- LeetCode 240 Search a 2D Matrix II
- 触发器的使用
- 【UML】之活动图
- 23种设计模式全解析
- QImage 图像格式小结
- 损失函数
- win10如何在桌面添加控制面板方便快速打开?
- hdu 4883 TIANKENG’s restaurant(区间更新)