HDU 5311 Hidden String (优美的暴力)
2024-08-25 13:31:47
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 strings
of length n.
He wants to find three nonoverlapping substrings s[l1..r1],s[l2..r2],s[l3..r3]
that:
1. 1≤l1≤r1<l2≤r2<l3≤r3≤n
2. The concatenation of s[l1..r1],s[l2..r2],s[l3..r3]
is "anniversary".
of length n.
He wants to find three nonoverlapping substrings s[l1..r1],s[l2..r2],s[l3..r3]
that:
1. 1≤l1≤r1<l2≤r2<l3≤r3≤n
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 integerT(1≤T≤100),
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.
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
题目链接:
pid=5311">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");
}
}
最新文章
- stanford corenlp的TokensRegex
- input输入时光标位置靠上问题解决
- 在github上搭建hexo博客
- JS 键值对
- web性能瓶颈
- buildroot linux filesystem 初探
- 从零开始学android开发-详细谈谈intent的startActivityForResult()方法
- Java socket 说明 以及web 出现java.net.SocketException:(Connection reset或者Connectreset by peer:Socket write error)的解释
- Ubuntu12.04 Git 服务器详细配置
- 关于table表格td里内容是数字而且太长不换行的问题
- JavaScript(三、DOM文档对象模型)
- Spring Boot Favicon配置
- 【转载】IIS出现“HTTP 错误 500.0,C:\php\php-cgi.exe - FastCGI 进程意外退出”解决方法
- C语言实例:结构体
- js前台计算两个日期的间隔时间
- 关于Eclipse的一些简单设置
- Matlab 读取 ROS bag 文件指定消息数据
- html5 canvas创建阴影
- php 邮件发送利器 PHPMailer
- Python模块之virtualenvwrapper