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! 欧拉回 ...
随机推荐
- Redis Cluster 强制kill某一个节点和shutdown某一个节点后修复过程
redis cluster 命令行,执行以下命令需登录cluster,是集群所独有的集群(cluster)CLUSTER INFO 打印集群的信息CLUSTER NODES 列出集群当前已知的所有节点 ...
- python 数据处理 对txt文件进行数据处理
数据: 对txt文件进行数据处理: txt_file_path = "basic_info.txt" write_txt_file_path = "basic_info1 ...
- Java笔记--泛型
1.泛型解决元素存储的安全性问题:解决获取数据元素时,需要类型强转的问题. --泛型的核心思想:把一个集合中的内容限制为一个特定的数据类型. 2.泛型的使用 1)在集合中使用 2)自定义泛型类.泛型接 ...
- Android框架模式
参考大佬写的文章:https://www.jianshu.com/p/f17f5d981de7 1.MVC模式 Model:模型层,负责处理数据的加载或存储 View:视图层,负责界面数据的展示,与和 ...
- 011、Java中将范围大的数据类型变为范围小的数据类型
01.代码如下 package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...
- python --- unittest如何传cookies
1. #将CookieJar转为字典: cookies = requests.utils.dict_from_cookiejar(r.cookies) #将字典转为CookieJar: cookies ...
- UVA - 12083 Guardian of Decency (二分匹配)
题意:有N个人,已知身高.性别.音乐.运动.要求选出尽可能多的人,使这些人两两之间至少满足下列四个条件之一. 1.身高差>40 2.性别相同 3.音乐不同 4.运动相同 分析: 1.很显然 ...
- DragonFlyBSD 5.6 RC1 发布
导读DragonFlyBSD操作系统下一个主要版本的第一个候选版本RC1现在可以进行测试.DragonFlyBSD 5.6将成为一个功能更新的版本,该功能更新将于周二晚上发布,是第一个候选版本,同时将 ...
- 九十三、SAP中ALV事件之七,对自己定义的工具栏进行添加和删改
一.我们来到工具栏页面,如果不想要某个工具栏,删掉相应的文字再双击空白就可以了 二.我们添加一个工具栏,如ZADD,双击文字 三.保存静态文本,会弹出一个功能文本框 四.填写相应的内容后,点击对勾保存 ...
- 092-PHP定义索引数组
<?php $arr=array('name'=>'PHP','age'=>22,7=>25,33,21=>35,56); //定义一个索引数组 echo '数组$arr ...