HDU 5311 Hidden String (优美的暴力)

Posted mthoutai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDU 5311 Hidden String (优美的暴力)相关的知识,希望对你有一定的参考价值。


Hidden String

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others)

Total Submission(s): 52    Accepted Submission(s): 25



Problem Description
Today is the 1st anniversary of BestCoder. Soda, the contest manager, gets a string of length . He wants to find three nonoverlapping substrings ,, that:

1.

2. The concatenation of ,, is "anniversary".
 
Input
There are multiple test cases. The first line of input contains an integer, indicating the number of test cases. For each test case:
There‘s a line containing a string 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
 
题目链接:http://acm.hdu.edu.cn/showproblem.php?

pid=5311

题目大意:问在一个字符串里能不能找到连续三个区间拼成anniversary

题目分析:暴力,枚举每段的长度

#include <cstdio>
#include <cstring>
char s[200], con[] = "anniversary";

int main()
{
    int T;
    scanf("%d", &T);
    while(T--)
    {
        scanf("%s", s);
        int len = strlen(s);
        bool flag = false;
        for(int i = 0; i <= 8; i++)
        {
            for(int j = i + 1; j <= 9; j++)
            {
                int k = 0;
                while(k < len && strncmp(con, s + k, i + 1) != 0)
                    k ++;
                if(k == len) 
                    break;
                k += i + 1;
                while(k < len && strncmp(con + i + 1, s + k, j - i) != 0)
                    k ++;
                if(k == len) 
                    break;
                k += j - i;
                while(k < len && strncmp(con + j + 1, s + k, 10 - j) != 0)
                    k ++;
                if(k != len)
                {
                    flag = true;
                    break;
                }
            }
        }
        if(flag) 
            puts("YES");
        else 
            puts("NO");
    }
}




以上是关于HDU 5311 Hidden String (优美的暴力)的主要内容,如果未能解决你的问题,请参考以下文章

hdu 2594 Simpsons’ Hidden Talents

hdu 2059

HDU 2594 - Simpsons’ Hidden Talents(KMP)

HDU 2594 Simpsons’ Hidden Talents

HDU 2594 Simpsons’ Hidden Talents

HDU2594 Simpsons’ Hidden Talents