HDU 5311 Hidden String (DFS)
2016-07-28 20:44
417 查看
Hidden String
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)Total Submission(s): 1884 Accepted Submission(s): 677
[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
[align=left]Source[/align]
BestCoder 1st Anniversary ($)
[align=left]Recommend[/align]
hujie | We have carefully selected several similar problems for you: 5775 5774 5773 5772 5771
#include<stdio.h> #include<string.h> #include<algorithm> using namespace std; char str[1100],s[13]={"anniversary"}; int l,flag; void dfs(int b1,int b2,int num) { if(num<=3&&b2>=11) { flag=1; return ; } if(num>3) return ; if(b1>=l||flag) return ; for(int i=b1;i<l;i++) { int x=i; int y=b2; while(str[x]==s[y]&&x<l&&y<11) { x++; y++; } dfs(x+1,y,num+1); } } int main() { int t; scanf("%d",&t); while(t--) { memset(str,'\0',sizeof(str)); scanf("%s",str); l=strlen(str); flag=0; dfs(0,0,0); if(flag) printf("YES\n"); else printf("NO\n"); } return 0; }
相关文章推荐
- 集合框架
- 字符数组,字符指针,sizeof,strlen总结
- POJ-2624 4th Point(计算几何)
- android开发工具类(草鸡好用)
- ThinkPHP基础
- python 函数的嵌套定义 and 函数的返回值是函数
- Zephyr OS 基础篇:系统简介
- java中递归算法和汉诺塔
- 强引用、弱引用、软引用、虚引用
- 大数
- 来电归属地显示
- 写代码注意大小写
- 救济金发放
- 数据库cmd命令行
- svn: Can't remove file||不能进行cleanup||资源库同步时出错
- vijos 1098 合唱队形 - 动态规划
- Android WIFI Debug AndroidStudio/Eclipse无需Root无线调试
- jsp学习一
- 杭电1010Tempter of the Bone(dfs 奇偶剪枝)
- XUtils网络请求封装类