zoukankan      html  css  js  c++  java
  • hdoj--1034--Hidden String(dfs)

    Hidden String

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others)
    Total Submission(s): 1677    Accepted Submission(s): 589



    Problem Description
    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. 1l1r1<l2r2<l3r3n

    2. The concatenation of s[l1..r1], s[l2..r2], s[l3..r3] is "anniversary".
     

    Input
    There are multiple test cases. The first line of input contains an integer T (1T100), 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.
     

    Output
    For each test case, output "YES" (without the quotes) if Soda can find such thress substrings, otherwise output "NO" (without the quotes).
     

    Sample Input
    2 annivddfdersewwefary nniversarya
     

    Sample Output
    YES NO
     

    Source
     

    Recommend
    hujie   |   We have carefully selected several similar problems for you:  5594 5593 5592 5591 5590

    #include<stdio.h>
    #include<string.h>
    #include<algorithm>
    using namespace std;
    char str[1010],op[13]={"anniversary"};
    int flog,l,L;
    void dfs(int b1,int b2,int num)
    {
    	int i;
    	if(b2>=11&&num<=3)
    	{
    		flog=1;
    		return ;
    	}
    	if(num>3)
    	return ;
    	if(b1>=l||flog)
    	return ;
    	for(i=b1;i<l;i++)
    	{
    		int x=i;
    		int y=b2;
    		while(str[x]==op[y]&&x<l&&y<11)
    		{
    			x++,y++;
    		}
    		dfs(x+1,y,num+1);
    	}
    }
    int main()
    {
    	int t;
    	scanf("%d",&t);
    	while(t--)
    	{
    		L=strlen(op);
    		memset(str,'',sizeof(str));
    		scanf("%s",str);
    		flog=0;
    		l=strlen(str);
    		dfs(0,0,0);
    		if(flog)
    		printf("YES
    ");
    		else
    		printf("NO
    ");
    	}
    	return 0;
    }

     
  • 相关阅读:
    布隆过滤器
    springboot+redis实现分布式锁
    springboot+redis实现消息队列
    工作启示文章收藏
    redis常用命令
    前方的路
    分布式系统中对cookie和session的思考
    用Markdown来写自由书籍-开源技术的方案
    Centos 7.0添加yum本地安装源
    爹地,我找到了!15个极好的Linux find命令示例
  • 原文地址:https://www.cnblogs.com/playboy307/p/5273641.html
Copyright © 2011-2022 走看看