zoukankan      html  css  js  c++  java
  • hdu 5311 Hidden String (dfs)

    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
     1 #include<cstdio>
     2 #include<cstring>
     3 #include<algorithm>
     4 using namespace std;
     5 char s1[20]={"anniversary"};
     6 char s2[111];
     7 int pos,ll;
     8 void dfs(int x,int y,int k)
     9 {
    10     if (k<=3&&y>=11)
    11     {
    12         pos=1;
    13         return ;
    14     }
    15     int i,z;
    16     if (pos||k>3||x>=ll) return ;
    17     for (i=x;i<ll;i++)
    18     {
    19         if (s2[i]!=s1[y]) continue;
    20         x=i;
    21         z=y;
    22         while (s2[x]==s1[z]&&x<ll&&z<11)
    23         {
    24             z++;
    25             x++;
    26         }
    27         dfs(x,z,k+1);
    28     }
    29 }
    30 int main()
    31 {
    32     int t,i,j;
    33     scanf("%d",&t);
    34     getchar();
    35     while (t--)
    36     {
    37         scanf("%s",&s2);
    38         ll=strlen(s2);
    39         pos=0;
    40         dfs(0,0,0);
    41         if (pos) printf("YES
    ");
    42         else printf("NO
    ");
    43     }
    44 }
  • 相关阅读:
    vue:自定义指令
    vue去掉严格开发,即去掉vue-cli安装时的eslint
    vue路由6:导航钩子
    vue路由5:命名视图
    vue路由3:子路由
    vue组件通信之任意级组件之间的通信
    vue中组件通信之子父通信
    令狐冲也是个情场高手啊
    Java —— 时区(夏令时)问题
    PL/SQL 如何导出INSERT语句
  • 原文地址:https://www.cnblogs.com/pblr/p/4764338.html
Copyright © 2011-2022 走看看