HDU 5311:Hidden String
Hidden String
今天是BestCoder一周年纪念日. 比赛管理员Soda有一个长度为n的字符串s. 他想要知道能否找到s的三个互不相交的子串s[l1..r1], s[l2..r2], s[l3..r3]满足下列条件: 1. 1≤l1≤r1<l2≤r2<l3≤r3≤n 2. s[l1..r1], s[l2..r2], s[l3..r3]依次连接之后得到字符串"anniversary".
输入有多组数据. 第一行有一个整数T (1≤T≤100), 表示测试数据组数. 然后对于每组数据: 一行包含一个仅含小写字母的字符串s (1≤|s|≤100).
对于每组数据, 如果Soda可以找到这样三个子串, 输出"YES", 否则输出"NO".
2
annivddfdersewwefary
nniversarya
YES
NO
#include <iostream>
#include <algorithm>
#include <cmath>
#include <vector>
#include <string>
#include <cstring>
#pragma warning(disable:4996)
using namespace std; vector<int> wei_z[30];
vector<int> weizhi;
char test[200];
int len,i,flag; void init()
{
for(i=0;i<len;i++)
{
wei_z[test[i]-'a'].push_back(i);
}
} bool pend()
{
int result=0,temp=weizhi[0];
for(i=1;i<weizhi.size();i++)
{
if(temp!=weizhi[i]-1)
result++;
temp=weizhi[i];
}
if(result<=2)
return true;
else
return false;
} void solve()
{
int i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11;
for(i1=0;i1<wei_z['a'-'a'].size();i1++)
{
for(i2=0;i2<wei_z['n'-'a'].size();i2++)
{
if(wei_z['n'-'a'][i2]<=wei_z['a'-'a'][i1])continue;
for(i3=0;i3<wei_z['n'-'a'].size();i3++)
{
if(wei_z['n'-'a'][i3]<=wei_z['n'-'a'][i2])continue;
for(i4=0;i4<wei_z['i'-'a'].size();i4++)
{
if(wei_z['i'-'a'][i4]<=wei_z['n'-'a'][i3])continue;
for(i5=0;i5<wei_z['v'-'a'].size();i5++)
{
if(wei_z['v'-'a'][i5]<=wei_z['i'-'a'][i4])continue;
for(i6=0;i6<wei_z['e'-'a'].size();i6++)
{
if(wei_z['e'-'a'][i6]<=wei_z['v'-'a'][i5])continue;
for(i7=0;i7<wei_z['r'-'a'].size();i7++)
{
if(wei_z['r'-'a'][i7]<=wei_z['e'-'a'][i6])continue;
for(i8=0;i8<wei_z['s'-'a'].size();i8++)
{
if(wei_z['s'-'a'][i8]<=wei_z['r'-'a'][i7])continue;
for(i9=0;i9<wei_z['a'-'a'].size();i9++)
{
if(wei_z['a'-'a'][i9]<=wei_z['s'-'a'][i8])continue;
for(i10=0;i10<wei_z['r'-'a'].size();i10++)
{
if(wei_z['r'-'a'][i10]<=wei_z['a'-'a'][i9])continue;
for(i11=0;i11<wei_z['y'-'a'].size();i11++)
{
if(wei_z['y'-'a'][i11]<=wei_z['r'-'a'][i10])continue;
weizhi.push_back(wei_z['a'-'a'][i1]);
weizhi.push_back(wei_z['n'-'a'][i2]);
weizhi.push_back(wei_z['n'-'a'][i3]);
weizhi.push_back(wei_z['i'-'a'][i4]);
weizhi.push_back(wei_z['v'-'a'][i5]);
weizhi.push_back(wei_z['e'-'a'][i6]);
weizhi.push_back(wei_z['r'-'a'][i7]);
weizhi.push_back(wei_z['s'-'a'][i8]);
weizhi.push_back(wei_z['a'-'a'][i9]);
weizhi.push_back(wei_z['r'-'a'][i10]);
weizhi.push_back(wei_z['y'-'a'][i11]);
if(pend()==true)
{
flag=1;
return;
}
weizhi.clear();
}
}
}
}
}
}
}
}
}
}
}
} int main()
{
int Test1;
cin>>Test1; while(Test1--)
{
cin>>test;
for(i=0;i<=29;i++)
wei_z[i].clear();
weizhi.clear();
flag=0;
len=strlen(test);
init();
solve();
if(flag)
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
}
return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。
HDU 5311:Hidden String的更多相关文章
- HDU 4055:Number String(DP计数)
http://acm.hdu.edu.cn/showproblem.php?pid=4055 题意:给一个仅包含‘I','D','?'的字符串,’I'表示前面的数字比后面的数字要小(Increase升 ...
- hdu 5311 Hidden String (BestCoder 1st Anniversary ($))(深搜)
http://acm.hdu.edu.cn/showproblem.php?pid=5311 Hidden String Time Limit: 2000/1000 MS (Java/Others) ...
- HDU 5311 Hidden String (优美的暴力)
Hidden String Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others) ...
- hdu 5311 Hidden String
题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=5311 Hidden String Description Today is the 1st anniv ...
- BestCoder 1st Anniversary B.Hidden String DFS
B. Hidden String Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://bestcoder.hdu.edu.cn/contests/co ...
- BestCoder 1st Anniversary ($) 1002.Hidden String
Hidden String Accepts: 437 Submissions: 2174 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 26 ...
- HDU 5842 Lweb and String(Lweb与字符串)
p.MsoNormal { margin: 0pt; margin-bottom: .0001pt; text-align: justify; font-family: Calibri; font-s ...
- HDU 2594 Simpsons’ Hidden Talents(辛普森一家的潜在天赋)
HDU 2594 Simpsons’ Hidden Talents(辛普森一家的潜在天赋) Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 3 ...
- hdu 4850 Wow! Such String! 欧拉回路
作者:jostree 转载请注明出处 http://www.cnblogs.com/jostree/p/4080264.html 题目链接:hdu 4850 Wow! Such String! 欧拉回 ...
随机推荐
- linux(centos6.9)下使用yum安装mysql,及启动MySQL等
查看系统自带的mysql版本:rpm -qa | grep mysql 卸载mysql:rpm -e mysql-libs-5.1.73-8.el6_8.x86_64 --nodeps 1. 安装my ...
- 在linux7(centos)中安装python3.7.2
一般情况下linux上都默认安装了python,检查一下我的版本 没有安装python3,但是目前已经是python3了,所以为了方便,还是要在系统上安装一下比较好. 上面的命令,直接输入python ...
- ng-trim
最近新做了一个需求,要求在angular.js的input 文本框中做到去除首尾空格,实现精确查询. 查了很多正则表达式,后来才发现angular.js项目中默认就能去除首尾空格,ng-trim 默 ...
- axios和fetch
前面的vuex提到了异步请求,在vue里异步请求怎么请求呢,很显然jq.ajax是不用了,不是不能用,而是没必要,jq是操作dom的工具,强行用浪费功能,还会加大打包后的体积,而且是没有promise ...
- 《高性能MySQL》之EXPLAIN
使用explain关键字获取sql执行性能 语法如下: explain select * from table explain 中的列expain出来的信息有10列,分别是id,select_type ...
- Vmware 和 VisualSVN-Server端口冲突
安装 VisualSVN-Server 时,发现他和 Vmware 在端口 443 冲突: 先把本地自启动的 Vmware 全部停止,并改成手工启动服务: 这样可以节省资源,再安装 svn服务时 ...
- java学习之IO流(学习之旅,一)
个人在学习IO流的时候看到如下所示java 流类图结构的时候,我的感想是,这么多··处于蒙的状态. Java流类图结构 这么多,没有分类不好学,那我们就慢慢一口一口的吃,这样每天学习一点就好了,其实很 ...
- mvn 编译报错mavn sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested targ
mavn 编译报错: mavn sun.security.validator.ValidatorException: PKIX path building failed: sun.security.p ...
- Fedora-19安装texlive2013并配置中文
参考博文: http://blog.csdn.net/longerzone/article/details/8129124 之前通过yum install安装了texlive,不过在使用过程中老是报 ...
- 关于div水平垂直居中的几种方法
Dom结构: <div class="box"> <div class="inner"> 123 </div> </d ...